Back End

    [Django] Django 모델 ForeignKeyField on_delete 종류

    on_delete 옵션은 Django에서 모델을 구현할 때 데이터베이스 상에서 참조무결성[각주:1]을 유지하여 ForeignKeyField가 바라보는 값이 삭제될 때 해당 요소를 처리하는 방법을 지정해 준다. CASCADE : ForeignKeyField를 포함하는 모델 인스턴스(row)도 같이 삭제한다. 1 2 3 4 5 from django.db import models class TestModel(models.Model): pass class FKModel(models.Model): test = models.ForeignKeyField(TestModel, on_delete=models.CASCADE) cs PROTECT : 해당 요소가 같이 삭제되지 않도록 ProtectedError를 발생시킨다. ..

    [Django] Django MTV 개발 방식

    MTV 개발 방식 Django의 MTV 방식은 웹 프로그래밍 영역을 3가지 개념으로 나누어 개발하는 방식이다. Java 웹 프로그래밍에서 MVC 방식과 거의 동일한 개념이라고 한다. MTV 개발 방식의 세 가지 분류는 모델(Model), 템플릿(Template), 뷰(View)이다. 모델 (Model) : 테이블을 정의하는 일종의 데이터베이스 역할을 수행 > models.py 템플릿 (Template) : 사용자가 보게 될 화면(UI)의 모습을 정의 > templates 디렉터리 하위의 *.html 파일 뷰 (View) : 애플리케이션의 제어 흐름 및 처리 로직을 정의 > views.py MTV 개발 방식의 장점 이렇게 셋으로 나눠 개발하면 각 모듈 간에 독립성을 유지할 수 있고, Loose Coupli..

    [Django] Django로 만드는 투표 앱(1) - views.py 설계

    인프런 Django 강좌를 따라 실습하면서 간단하게 투표 기능을 할 수 있는 웹 어플리케이션을 만들어 보았다. 우선 투표 어플리케이션에 사용될 4개의 view를 설계해 보았다. Question Index Page : 최근 등록된 5개의 질문들을 보여주는 페이지 Question Detail Page : 각 질문과 투표를 할 수 있는 User 폼을 보여주는 페이지 Question Result Page : 각 질문에 대한 결과를 보여주는 페이지 투표 액션 : 특정 질문에 대해 투표를 핸들링 현재 Django 프로젝트 디렉터리 구조는 다음과 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 mysite ├── db.sqlite3 ├── manage.py ├── m..