https://velog.io/@inhwa1025/MAC에서-Django-설치하기 에서 이어지는 내용입니다.
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
file:mysite/
: 현재 프로젝트를 담는 공간. 이름 변경 가능manage.py
: 장고 프로젝트와 상호작용하는 커맨드라인 유틸리티mysite/
: 현재 프로젝트를 위한 실제 python 패키지들이 저장됨. 해당 디렉토리 내의 이름을 이용(mysite.urls)하여 프로젝트 내에서 python 패키지 import 가능mysite/__init__.py
: Python이 디렉토리를 패키지처럼 다루라고 알려주는 용도의 단순한 빈 파일mysite/settings.py
: 현재 프로젝트의 환경 및 구성을 저장mysite/urls.py
: 현재 프로젝트의 URL 선언을 저장합니다. Django 로 작성된 사이트의 목차mysite/asgi.py
: 현재 프로젝트를 서비스하기 위한 ASGI-호환 웹 서버의 진입점mysite/wsgi.py
: 현재 프로젝트를 서비스하기 위한 WSGI 호환 웹 서버의 진입점$ python3 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.")
polls
디렉토리 안에 urls.py
파일 생성하여 아래 내용 추가from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
mysite/urls.py
에 django.urls.include
를 import하고 urlpatterns
에 include()
함수 추가from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
include()
include()
함수는 다른 URLconf를 참조할 수 있도록 해줌include()
함수를 만나면 URL의 그 시점까지 일치하는 부분 외에 남은 문자열 부분을 처리하기 위해 include된 URLconf로 전달admin.site.urls
를 제외하고 URL 패턴을 포함할 때마다 include()
함수 사용 필요$ python manage.py runserver
http://127.0.0.1:8000/polls/ 접속하면 view에 정의한대로 아래와 같은 화면을 볼 수 있음