Django 뷰 만들기

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.")
→ 참고 : https://docs.djangoproject.com/en/1.10/topics/http/views/
  • 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 파일 생성 및 작성
Console
Copy
(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 방식
Bash
Copy
#polls/urls.py
from django.conf.urls import url 
from . import views

urlpatterns = [ 
    url(r'^$', views.index, name='index'),
]
  • CBV 방식
Bash
Copy
#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
Bash
Copy
# 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.
  • Django
    타란티노의 영화 장고의 대사중에 d는 묵음이야라는 것이 있죠 ㅎㅎ Pinkcrimson