티스토리 뷰
1. 모델 코딩
데이터베이스에 테이블을 생성하는 작업
1-1. 테이블 정의
테이블의 컬럼 부분을 모델 클래스의 속성으로 정의한다.
1-2. Admin 사이트에 테이블 반영
admin.py 파일에 등록한다.
1-3. 데이터베이스 변경 사항 반영
$ python manage.py makemigrations
$ python manage.py migrate
1-4. 테이블 모습 확인
$ python manage.py runserver
http://localhost:8000/admin
2. URLconf 설정 (urls.py)
노드JS에서 라우팅 하듯이 장고에서도 URL 라우팅을 해준다.
from django.conf.urls import url
from django.contrib import admin
# 뷰 모듈 관련 클래스 임포트
from booktag.views import BooktagListView, BooktagDetailView
# url(regex, view, kwargs=None, name=None, prefix='')
# 보통 regex(정규식), view(뷰), name(URL 패턴 이름) 인자를 사용하는 편이다.
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^booktag/$', BooktagListView.as_view(), name="index"),
url(r'^booktag/(?P<pk>\d+)/$', BooktagDetailView.as_view(), name="detail"),
]
3. 뷰 코딩 (views.py)
urls.py 에서 지정한 뷰를 코딩한다. 클래스형 뷰를 코딩하기 위해 제네릭 뷰를 사용하는 것을 저자는 권하고 있다.
# 클래스형 제네릭 뷰를 임포트
from django.views.generic import ListView, DetailView
from booktag.models import Booktag
# Create your views here.
# --- ListView :: 자동으로 context와 template 속성이 지정된다.
# (object_list, 모델명소문자_list.html)
class BooktagListView (ListView):
model = Booktag
# --- DetailView :: 상동
# (object, 모델명소문자_detail.html)
class BooktagDetailView (DetailView):
model = Booktag
3. 템플릿 코딩 (앱이름 / templates / 앱이름 / 파일명.html)
사용자가 보게 될 클라이언트 화면을 템플릿으로 코딩한다. 뷰에서 설정된 context 변수를 적용하기 위해서는 다음과 같이 사용하면 된다.
- 참고 도서, 사이트
- Django를 활용한 쉽고 빠른 웹개발 파이썬 웹프로그래밍 (한빛미디어, 김석훈 지음)
'Study > Django' 카테고리의 다른 글
장고(Django) 모델 필드 타입 레퍼런스 (진행중...) (0) | 2017.11.22 |
---|---|
프로젝트 시작하기 (0) | 2017.11.21 |
Django를 익히고 있다. (0) | 2017.11.21 |