
source tutorial-env/bin/activate
django-admin startproject mysite
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
프로젝트 내용텍스트
외부 mysite/루트 디렉터리는 프로젝트의 컨테이너, 이름 원하는대로 수정 가능
manage.py: Django 프로젝트와 상호작용할 수 있게 해주는 명령줄 유틸리티, django-admin 및manage.pymanage.py의 세부 정보를 읽을 수 있다.
내부 mysite/디렉터리는 프로젝트의 실제 Python 패키지, 이름은 그 안에 있는 항목을 가져오는 데 사용해야 하는 Python 패키지 이름(예: mysite.urls)
mysite/init.py: 이 디렉터리가 Python 패키지로 간주되어야 함을 Python에 알려주는 빈 파일
mysite/settings.py: 이 Django 프로젝트에 대한 설정/구성
mysite/urls.py: 이 Django 프로젝트에 대한 URL 선언, Django 기반 사이트의 목차
mysite/asgi.py: 프로젝트를 제공하기 위한 ASGI 호환 웹 서버의 진입점
mysite/wsgi.py: 프로젝트를 제공하기 위한 WSGI 호환 웹 서버의 진입점

python manage.py runserver
주의 사항 : 프로덕션 환경과 유사한 곳에서는 이 서버를 사용 금지. 개발하는 동안에만 사용하기 위한 것이다.
python manage.py runserver 0.0.0.0:8000
위 형식처럼 서버의 IP 변경도 가능하다
앱 : 블로그 시스템, 공개 기록 데이터베이스 또는 소규모 의견조사 앱과 같은 작업을 수행하는 웹 애플리케이션
프로젝트 : 특정 웹 사이트에 대한 구성 및 앱의 모음
한 프로젝트에 여러 개의 앱이 포함될 수 있다 / 앱은 여러 프로젝트에 있을 수 있다
python manage.py startapp polls
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
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path("polls/", include("polls.urls")),
path("admin/", admin.site.urls),
]
요청이 처리될 때, Django 는 urlpatterns 의 첫 번째 패턴부터 시작하여, 일치하는 패턴을 찾을 때 까지 요청된 URL 을 각 패턴과 리스트의 순서대로 비교한다.
패턴들은 GET 이나 POST 의 매개 변수들, 혹은 도메인 이름을 검색하지 않는다. 예를 들어, https://www.example.com/myapp/ 이 요청된 경우, URLconf 는 오직 myapp/ 부분만 바라본다. https://www.example.com/myapp/?page=3, 같은 요청에도, URLconf 는 역시 myapp/ 부분만 신경쓴다.
Django 에서 일치하는 패턴을 찾으면, HttpRequest 객체를 첫번째 인수로 하고, 경로로 부터 ‘캡처된’ 값을 키워드 인수로하여 특정한 view 함수를 호출한다.
임의의 키워드 인수들은 목표한 view 에 사전형으로 전달된다.=>?????????
URL 에 이름을 지으면, 템플릿을 포함한 Django 어디에서나 명확하게 참조할 수 있다. 이 강력한 기능을 이용하여, 단 하나의 파일만 수정해도 project 내의 모든 URL 패턴을 바꿀 수 있도록 도와쥰다.
<프로젝트 생성 방법 추가 내용>
1. django-admin startproject mysite
기존_폴더/mysite/mysite/setting.py 형태로 생성
튜토리얼에서 제공한 프로젝트 생성 방법