422
Глава 18 •
Знакомство с Django
УПРАЖНЕНИЯ
18.7. Документация шаблонов:
просмотрите документацию по шаблонам Django по адресу
https://docs .djangoproject .com/en/2 .2/ref/templates/
. Используйте ее в работе над собственными
проектами.
18.8. Страницы Pizzeria:
добавьте страницу в проект
Pizzeria
из упражнения 18.6 (с. 413)
с названиями видов пиццы. Свяжите каждое название пиццы со страницей, на которой вы-
водится список дополнений к этой пицце. Обязательно примените наследование шабло-
нов, чтобы повысить эффективность построения страниц.
Итоги
В этой главе вы начали осваивать построение веб-приложений с использованием
инфраструктуры Django. Вы написали короткую спецификацию проекта, установи-
ли Django в виртуальной среде, узнали, как настроить проект, и проверили правиль-
ность настройки. Вы узнали, как создать приложение и как определить модели для
представления данных в вашем приложении. Также были рассмотрены базы данных
и вы узнали, как Django упрощает миграцию баз данных после внесения изменений
в модель. Вы научились создавать суперпользователей для административного
сайта, а также использовали административный сайт для ввода исходных данных.
Также в этой главе была представлена оболочка Django, позволяющая работать
с данными проекта в терминальном сеансе. Вы научились определять URL-адреса,
создавать функции представления и писать шаблоны для построения страниц сай-
та. Наконец, вы применили механизм наследования шаблонов, который упрощает
структуру отдельных шаблонов и модификацию сайта по мере развития проекта.
В главе 19 мы создадим интуитивно понятные, удобные страницы, на которых
пользователи смогут добавлять новые темы и записи, а также редактировать су-
ществующие записи без участия административного сайта. Также будет добавлена
система регистрации пользователей, чтобы любой пользователь мог создать учет-
ную запись и вести свой журнал. Собственно, в этом и заключается сущность веб-
приложения — создание функциональности, с которой может взаимодействовать
любое количество пользователей.
19
Учетные
записи
пользователей
Что является самым главным для веб-приложения? Что любой пользователь, жи-
вущий в любой стране мира, сможет создать учетную запись в вашем приложении
и начать работать с ним. В этой главе мы построим формы, на которых пользова-
тели смогут вводить свои темы и записи, а также редактировать существующие
данные. Также вы узнаете, как Django защищает приложения от распространенных
атак на страницы с формами, чтобы вам не приходилось тратить много времени на
продумывание средств защиты вашего приложения.
Затем будет реализована система проверки пользователей. Мы создадим стра-
ницу регистрации, на которой пользователи смогут создавать учетные записи,
и ограничим доступ к некоторым страницам для анонимных пользователей. Затем
некоторые функции представления будут изменены так, чтобы пользователь мог
видеть только свои собственные данные. Вы узнаете, как обеспечить безопасность
и конфиденциальность данных пользователей.
Редактирование
данных
Прежде чем строить систему аутентификации пользователей для создания учетных
записей, сначала мы добавим несколько страниц, на которых пользователи смогут
вводить собственные данные. У пользователей появится возможность создавать
новые темы, добавлять новые записи и редактировать записи, сделанные ранее.
В настоящее время данные могут вводиться только суперпользователем на
административном сайте. Однако разрешать пользователям работу на админи-
стративном сайте явно нежелательно, поэтому мы воспользуемся средствами
построения форм Django для создания страниц, на которых пользователи смогут
вводить данные.
Добавление
новых тем
Начнем с возможности создания новых тем. Страницы на базе форм добавляются
практически так же, как и те страницы, которые мы уже строили ранее: вы опреде-
ляете URL, пишете функцию представления и создаете шаблон. Принципиальное
отличие — добавление нового модуля
forms .py
, содержащего функциональность форм.