1 개념[ | ]
- Writing a django view
- django 뷰 만들기
- polls/views.py 생성 및 실행
2 뷰 파일 작성[ | ]
- FBV 방식
Bash
Copy
# polls/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello World.")
- CBV 방식
Bash
Copy
# 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 파일 생성 및 작성
- ConsoleCopy
(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 방식
- BashCopy
#polls/urls.py from django.conf.urls import url from . import views urlpatterns = [ url(r'^$', views.index, name='index'), ]
- CBV 방식
- BashCopy
#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
- BashCopy
# 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 개발 서버에서 확인[ | ]
- 개발 서버 구동
Console
Copy
(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.
- 브라우저에서 http://localhost:8000/polls/ 주소를 입력하여 확인