프로젝트 만들기
Django를 처음 사용하는 경우, 초기 설정이 필요합니다.
프로젝트로 사용할 디렉토리를 생성한 후, 다음 명령을 실행합니다.
저는 mysite폴더를 만들고 이용했습니다.
$ mkdir django
$ cd django
$ django-admin startproject mysite
startproject가 생성되었습니다!
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
개발 서버
프로젝트가 작동하는지 확인해 볼게요. mysite 디렉토리로 이동한 후에 다음 명령을 입력해주세요.
$ python manage.py runserver
후에 브라우저에서 localhost:8000 에 접속하면!
위와 같은 화면이 나타난답니다.
runserver는 각 요청마다 python 코드를 자동으로 다시 불러옵니다. 그러므로 변경사항을 적용할 때 매번 새로 시작할 필요가 없어요. 단, 파일추가와 같은 일부 작업을 제외하구요..
설문 조사 앱 만들기
이제 환경설정이 되었으므로 작업을 진행합니다. Django로 작성하는 각 애플리케이션은 특정 규칙을 따르는 Python 패키지로 구성됩니다. Django에는 응용프로그램의 기본 디렉토리 구조를 자동으로 생성하는 유틸리티가 있으므로 디렉토리를 만드는 대신 코드를 작성하는 데 집중할 수 있습니다.
다음 명령을 입력하세요.
$ python manage.py startapp polls
다음과 같은 디렉토리가 생성됩니다.
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
첫번째 보기 작성
polls/views.py 파일에 다음 코드를 입력해주세요.
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
위 코드는 index 함수를 호출 할 경우 HttpResponse값을 반환하여 Http에 보여줍니다.
polls 디렉토리에 urls.py 파일을 새로 생성하고 다음코드를 입력해주세요.
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
route 값이 '' 일때, views.py 에서 작성했던 함수를 호출합니다.
다음으로는 mysite디렉토리의 urls.py 파일에 코드를 입력합니다. 파일명은 같지만 속해있는 디렉토리가 다르니 주의해주세요.
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
localhost:8000/polls/ 에 접속하면 polls의 urls.py 파일에서 다시 경로를 찾습니다.
이제 작동하는지 확인해볼게요
$ python manage.py runserver
localhost:8000/polls로 접속합니다.
다음과 같은 화면이 생성되면 잘하신거에요!
path()
path 함수는 4개의 인수로 이루어져있습니다. 2개의 꼭 필요한 인수인 route, view 그리고 선택할 수 있는 kwargs, name 입니다.
route
URL 패턴을 포함하는 문자열입니다.
요청을 받으면 localhost:8000/polls/ 에서 polls 라는 패턴을 검색하게 됩니다.
view
일치하는 패턴을 발견하면 HttpRequest 객체를 첫 번째 인수로 사용하고 경로에서 캡처한 값을 키워드 인수로 사용하여 지정된 뷰 함수를 호출합니다. 위 예제에서 views.index가 view인자에 해당합니다.
kwargs
임의의 키워드 인수는 사전에서 대상보기로 전달 될 수 있습니다. 튜토리얼에서 장고의이 기능을 사용하지 않을 것입니다.
name
URL의 이름을 지정하면 템플릿 내의 다른 곳에서 명확하게 참조 할 수 있습니다.
name='index'가 이에 해당합니다.
출처 : https://docs.djangoproject.com/ko/2.0/intro/tutorial01/
'django' 카테고리의 다른 글
django 시작하기(4) - View, templates (0) | 2018.06.27 |
---|---|
Django 시작하기(3) - 데이터베이스 (0) | 2018.06.27 |
Django 시작하기(1) - 설치 (0) | 2018.06.27 |