Книга «Изучаем Python»



Pdf көрінісі
бет218/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   214   215   216   217   218   219   220   221   ...   238
ПРИМЕЧАНИЕ

Регулярные выражения используются почти во всех языках программирования . Они чрезвычайно 

полезны, но, чтобы освоить их, понадобится время . Если что-то осталось непонятным, не беспо-

койтесь; в ходе работы над проектом мы рассмотрим много примеров .




Начало работы над приложением    397

Написание представления

Функция представления получает информацию из запроса, подготавливает данные, 

необходимые для построения страницы, и возвращает данные браузеру — часто 

с использованием шаблона, определяющего внешний вид страницы.

Файл 


views .py

 в 


learning_logs

 был сгенерирован автоматически при выполнении ко-

манды 

python


 

manage.py

 

startapp


. На данный момент его содержимое выглядит так:

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()

, после чего передает этой функции 

представления объект запроса. В нашем случае никакая обработка данных для 

страницы не нужна, поэтому код функции сводится к вызову 

render()

. Функция 

render()

 использует два аргумента — исходный объект запроса и шаблон, исполь-

зуемый для построения страницы. Давайте напишем этот шаблон.

Написание шаблона

Шаблон задает структуру веб-страницы. Он определяет общий внешний вид, 

а Django заполняет его соответствующими данными при каждом запросе страницы. 

Шаблон может обращаться к любым данным, полученным от представления. Так 

как наше представление домашней страницы никаких данных не предоставляет, 

шаблон получается относительно простым.

В каталоге 

learning_logs

 создайте новый каталог с именем 

templates

. В каталоге 

templates

 создайте другой каталог с именем 

learning_logs

. На первый взгляд такая 

структура кажется избыточной (каталог 

learning_logs

 в каталоге 

templates

 внутри 

каталога 

learning_logs

), но созданная таким образом структура будет однозначно 

интерпретироваться Django даже в контексте большого проекта, состоящего из мно-

жества отдельных приложений. Во внутреннем каталоге 

learning_logs

 создайте 

новый файл с именем 

index .html

. Включите в него следующий текст:

index.html

Learning Log

Learning Log helps you keep track of your learning, for any topic you're

learning about.





398    Глава 18  •  Знакомство с Django

Это очень простой файл. Если вы не знакомы с синтаксисом HTML, теги 

 

обозначают абзацы. Тег 


 открывает абзац, а тег 
 закрывает его. Наша стра-

ница содержит два абзаца: первый содержит заголовок, а второй описывает, что 

пользователь может сделать с помощью приложения Learning Log.

Теперь при запросе базового URL-адреса проекта http://localhost:8000/ вы увидите 

только что построенную страницу вместо страницы по умолчанию. Django берет 

запрошенный URL-адрес и видит, что он совпадает со схемой 

r'^$'

; в этом случае 



Django вызывает функцию 

views.index()

, что приводит к построению страницы 

с использованием шаблона, содержащегося в 

index .html

. Полученная страница по-

казана на рис. 18.3.



Достарыңызбен бөлісу:
1   ...   214   215   216   217   218   219   220   221   ...   238




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

    Басты бет