Путь к разработке апплета WeChat (2) Применение шаблона обучения фреймворка Django 1
Мы используем django.http.HttpResponse () для вывода «Hello World!». Этот метод смешивает данные с представлениями, что не соответствует концепции MVC Django.
Я подробно расскажу о применении шаблонов Django. Шаблон - это текст, используемый для разделения представления и содержимого документа.
Затем проект, описанный в предыдущей главе, создаст каталог шаблонов в каталоге HelloWorld и создаст файл 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 и изменить DIRS в TEMPLATES [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),
]
Как видите, здесь мы используем рендеринг, чтобы заменить использованный ранее 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.
Таким образом, мы завершили использование шаблонов для вывода данных, чтобы реализовать разделение данных и представления.