January 26, 2019
이 POST의 모든 마크다운과 실습 코드는
여기에서 확인할 수 있습니다.
source myvenv/bin/activatedjango-admin startproject <project 이름>Result
<project 이름>의 폴더 생성
cd <project 이름>python manage.py runserverResult
http://127.0.0.1:8000/ 와 같은 local주소 확인 가능
서버 종료 : ctrl + c
db.sqlite3 : 데이터 베이스를 담당하는 파일
python manage.py startapp <app 이름>Result
<app 이름>의 폴더 생성
사용자에게 보여질 html파일을 담을 폴더 생성
<project 이름> 폴더의 settings.py의
INSTALLED_APPS 리스트에 'myapp.apps.MyappConfig'와
같이 <App 이름>의 경로 추가
필자의 App 이름은 myapp
<App 이름>의 폴더의 views.py파일에
def home(request):
return render(request, 'home.html')다음과 같이 home.html 처리 함수 정의
<project 이름>폴더의 urls.py 조작
views.py를 urls.py에 importimport myapp.viewsurlpatterns리스트에 path추가path('', myapp.views.home, name="home")path(url조건, 호출할 함수, html 이름)
url의 이름은 함수와 동일하게 만들자!
최종 urls.py
from django.contrib import admin
from django.urls import path
import myapp.views
urlpatterns = [
path('admin/', admin.site.urls),
path('', myapp.views.home, name="home"),
]
Model, Template, View의 약자
Model
Data Base를 다뤄주는 역할Template
html화면View
함수들이 모여있는 곳M, T, V 각각 독립적 임무 수행으로 Django가 작동
MTV가 차용한 방식으로 더 일반적인 패턴
Model, View, Controller의 약자
Model
Data Base 담당MTV의 Model과 같다.View
MTV의 Template와 같다.Controller
MTV의 View와 같다.