"Django 뷰 만들기"의 두 판 사이의 차이

 
43번째 줄: 43번째 줄:
</source>
</source>
:;polls/urls.py  
:;polls/urls.py  
*FBV 방식
:<source lang="bash">
:<source lang="bash">
#polls/urls.py
#polls/urls.py
50번째 줄: 51번째 줄:
urlpatterns = [  
urlpatterns = [  
     url(r'^$', views.index, name='index'),
     url(r'^$', views.index, name='index'),
]
</source>
*CBV 방식
:<source lang="bash">
#polls/urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
    url(r'^$', views.IndexView.as_view(), name='index'),
]
]
</source>
</source>

2017년 4월 10일 (월) 11:12 기준 최신판

1 개념[ | ]

Writing a django view
django 뷰 만들기
  • polls/views.py 생성 및 실행

2 뷰 파일 작성[ | ]

  • FBV 방식
# polls/views.py
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello World.")
→ 참고 : https://docs.djangoproject.com/en/1.10/topics/http/views/
  • CBV 방식
# polls/views.py
from django.http import HttpResponse
from django.views.generic import View

class IndexView(View):
    def get(self, request):
        return HttpResponse("Hello World!")
→ 참고 : https://docs.djangoproject.com/en/1.11/topics/class-based-views/
→ 뷰 파일을 호출하기 위해서는 뷰 파일을 URL에 연결해 주어야함

3 URL 파일 생성 및 작성[ | ]

  • 1. polls/urls.py 파일 생성 및 작성
(DJANGO) johnjeong@zetawiki:~/DJANGO/mysite$ tree polls
polls
├── __init__.py
├── admin.py
├── apps.py
├── migrations
│    └── __init__.py
├── models.py
├── tests.py
├── urls.py
└── views.py
polls/urls.py
  • FBV 방식
#polls/urls.py
from django.conf.urls import url 
from . import views

urlpatterns = [ 
    url(r'^$', views.index, name='index'),
]
  • CBV 방식
#polls/urls.py
from django.conf.urls import url 
from . import views

urlpatterns = [ 
    url(r'^$', views.IndexView.as_view(), name='index'),
]
  • 2.루트 URLconf이 polls.urls 모듈을 가르키게함
mysite/urls.py
# mysite/urls.py
from django.conf.urls import include, url 
from django.contrib import admin

urlpatterns = [ 
    url(r'^polls/', include('polls.urls')),
    url(r'^admin/', admin.site.urls),
]
→include로 polls하위의 urls 경로 참조

4 개발 서버에서 확인[ | ]

  • 개발 서버 구동
(DJANGO) johnjeong@zetawiki:~/DJANGO/mysite$ python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).

You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

March 01, 2017 - 11:25:25
Django version 1.10.5, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}