М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет299/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   295   296   297   298   299   300   301   302   ...   334
Байланысты:
Изучаем Python

411
views.py
from django.shortcuts import render
# Создайте здесь свои представления.
Сейчас файл только импортирует функцию 
render()
, которая генерирует ответ на 
основании данных, полученных от представлений. Откройте файл представления 
и добавьте следующий код домашней страницы:
from django.shortcuts import render
def index(request):
"""Домашняя страница приложения Learning Log"""
return render(request, 'learning_logs/index.html')
Если URL запроса совпадает с только что определенной схемой, Django ищет 
в файле 
views .py
функцию с именем 
index()
, после чего передает этой функции 
представления объект 
request
. В нашем случае никакая обработка данных для 
страницы не нужна, поэтому код функции сводится к вызову 
render()
. Функция 
render()
использует два аргумента — исходный объект запроса и шаблон, исполь-
зуемый для построения страницы. Давайте напишем этот шаблон.
Написание шаблона
Шаблон определяет общий внешний вид страницы, а Django заполняет его соот-
ветствующими данными при каждом запросе страницы. Шаблон может обращаться 
к любым данным, полученным от представления. Так как наше представление 
домашней страницы никаких данных не предоставляет, шаблон получается от-
носительно простым.
В каталоге 
learning_logs
создайте новый каталог с именем 
templates
. В каталоге 
templates
создайте другой каталог с именем 
learning_logs
. На первый взгляд такая 
структура кажется избыточной (каталог 
learning_logs
в каталоге 
templates
внутри 
каталога 
learning_logs
), но созданная таким образом структура будет однозначно 
интерпретироваться Django даже в контексте большого проекта, состоящего из 
множества отдельных приложений. Во внутреннем каталоге 
learning_logs
создай-
те новый файл с именем 
index .html
(таким образом, полное имя файла имеет вид 
learning_log/learning_logs/templates/learning_logs/index .html
). Включите в него следу-
ющий текст:
index.html
Learning Log
Learning Log helps you keep track of your learning, for any topic you're
learning about.
Это очень простой файл. Если вы не знакомы с синтаксисом HTML, теги 
обозначают абзацы. Тег 
открывает абзац, а тег 
закрывает его. В нашей стра-


412

Достарыңызбен бөлісу:
1   ...   295   296   297   298   299   300   301   302   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет