WeChat 애플릿 개발로가는 길 (2) Django 프레임 워크 학습 템플릿 적용 1
django.http.HttpResponse ()를 사용하여 "Hello World!"를 출력합니다. 이 방법은 데이터를 Django의 MVC 생각에 맞지 않는 뷰와 혼합합니다.
Django 템플릿의 응용 프로그램에 대해 자세히 소개하겠습니다. 템플릿은 문서의 프레젠테이션과 내용을 구분하는 데 사용되는 텍스트입니다.
이전 장의 프로젝트는 HelloWorld 디렉토리 아래에 templates 디렉토리를 생성하고 runoob.html 파일을 생성합니다. 전체 디렉토리 구조는 다음과 같습니다.
HelloWorld/
|-- HelloWorld
| |-- __init__.py
| |-- __init__.pyc
| |-- settings.py
| |-- settings.pyc
| |-- urls.py
| |-- urls.pyc
| |-- views.py
| |-- views.pyc
| |-- wsgi.py
| `-- wsgi.pyc
|-- manage.py
`-- templates
`-- runoob.html
runoob.html 파일의 코드는 다음과 같습니다.
템플릿에서 변수가 이중 대괄호를 사용한다는 것을 알고 있습니다.
다음으로 Django에 대한 템플릿 파일의 경로를 설명하고 HelloWorld / settings.py를 수정하고 TEMPLATES에서 DIRS [os.path.join(BASE_DIR, 'templates')]
를 다음과 같이
수정해야 합니다. 이제 views.py를 수정하여 데이터를 템플릿에 제출할 새 개체를 추가합니다.
from django.shortcuts import render
def runoob(request):
context = {
}
context['hello'] = 'Hello World!'
return render(request, 'runoob.html', context)
from django.urls import path
from . import views
urlpatterns = [
path('runoob/', views.runoob),
]
보시다시피 여기에서 render를 사용하여 이전에 사용 된 HttpResponse를 대체합니다. Render는 또한 사전 컨텍스트를 매개 변수로 사용합니다.
컨텍스트 사전에있는 요소의 키 값 hello는 템플릿의 {
{hello}} 변수에 해당합니다 .
http://127.0.0.1:8000/runoob를 다시 방문하면 다음 페이지를 볼 수 있습니다
. 오류 404가보고되었음을 의미하지만 그 이유 (저장하지 않았기 때문일 수 있음)
경로를 수정합니다. 설정에서 이 문장에서이 문장은 "BASE_DIR / templates"폴더를 가리키고 템플릿을 가져옵니다. BASE_DIR은 실제로 첫 번째 수준의 Hello World 폴더이고 템플릿은 두 번째 수준의 Hello World 폴더에 있으므로 항상 오류 메시지가 표시됩니다. BASE_DIR은 manage.py 파일이 위치한 경로이며
, 이와 같이 데이터를 출력하기위한 템플릿 사용을 완료하여 데이터와 뷰의 분리를 실현했습니다.