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


Рис. 18.5. Страница со списком всех записей по отдельной теме Итоги    407



Pdf көрінісі
бет224/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   220   221   222   223   224   225   226   227   ...   238
Байланысты:
2 5343781172763690906

Рис. 18.5. Страница со списком всех записей по отдельной теме


Итоги    407

УПРАЖНЕНИЯ

18-7 . Документация шаблона: просмотрите документацию по шаблонам Django по адресу 

https://docs .djangoproject .com/en/1 .8/ref/templates/ . Используйте ее в работе над собствен-

ными проектами .

18-8 . Страницы Pizzeria: добавьте страницу в проект Pizzeria из упражнения 18-6 (с . 398) 

с названиями видов пиццы . Свяжите каждое название пиццы со страницей, на которой вы-

водится список дополнений к этой пицце . Обязательно примените наследование шаблонов, 

чтобы повысить эффективность построения страниц .

Итоги

В этой главе вы начали осваивать построение веб-приложений с использованием 



инфраструктуры Django. Вы написали короткую спецификацию проекта, уста-

новили Django в виртуальной среде, узнали, как настроить проект, и проверили 

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

модели для представления данных в вашем приложении. Также были рассмотре-

ны базы данных, и вы узнали, как Django упрощает миграцию баз данных после 

внесения изменений в модель. Вы научились создавать суперпользователей для 

административного сайта, а также использовали административный сайт для ввода 

исходных данных.

Также в этой главе была представлена оболочка Django, позволяющая работать 

с данными проекта в терминальном сеансе. Вы научились определять URL-адреса, 

создавать функции представления и писать шаблоны для построения страниц сай-

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

структуру отдельных шаблонов и модификацию сайта по мере развития проекта.

В главе 19 мы создадим интуитивно понятные, удобные страницы, на которых 

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

ствующие записи без участия административного сайта. Кроме того, будет добав-

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

учетную запись и вести свой журнал. Собственно, в этом и заключается сущность 

веб-приложения — создание функциональности, с которой может взаимодейство-

вать любое количество пользователей.




19

Учетные записи 

пользователей

Что является самым главным для веб-приложения? Что любой пользователь, жи-

вущий в любой стране мира, сможет создать учетную запись в вашем приложении 

и начать работать с ним. В этой главе мы построим формы, на которых пользова-

тели смогут вводить свои темы и записи, а также редактировать существующие 

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

ненных атак на страницы с формами, чтобы вам не приходилось тратить много 

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

Затем будет реализована система проверки пользователей. Мы создадим стра-

ницу регистрации, на которой пользователи смогут создавать учетные записи, 

и ограничим доступ к некоторым страницам для анонимных пользователей. Затем 

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

видеть только свои собственные данные. Вы узнаете, как обеспечить безопасность 

и конфиденциальность данных пользователей.

Редактирование данных

Прежде чем строить систему аутентификации пользователей для создания учетных 

записей, сначала мы добавим несколько страниц, на которых пользователи смогут 

вводить собственные данные. У пользователей появится возможность создавать 

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

В настоящее время данные могут вводиться только суперпользователем на админи-

стративном сайте. Однако разрешать пользователям работу на административном 

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

Django для создания страниц, на которых пользователи смогут вводить данные.

Добавление новых тем

Начнем с возможности создания новых тем. Страницы на базе форм добавляются 

практически так же, как и те страницы, которые мы уже строили ранее: вы опреде-

ляете URL, пишете функцию представления и создаете шаблон. Принципиальное 

отличие — добавление нового модуля 

forms .py

, содержащего функциональность 

форм.



Редактирование данных    409

Объект ModelForm

Любая страница, на которой пользователь может вводить и отправлять инфор-

мацию, является формой, даже если на первый взгляд она на форму не похожа. 

Когда пользователь вводит информацию, необходимо проверить, что он ввел 

корректные данные, а не вредоносный код (например, код для нарушения ра-

боты сервера). Затем проверенная информация обрабатывается и сохраняется 

в нужном месте базы данных. Django автоматизирует бульшую часть этой 

работы.

Простейший способ построения форм в Django основан на использовании класса 

ModelForm

, который автоматически строит форму на основании моделей, опреде-

ленных в главе 18. Ваша первая форма будет создана в файле 

forms .py

, который 

должен находиться в одном каталоге с 

models .py

:



Достарыңызбен бөлісу:
1   ...   220   221   222   223   224   225   226   227   ...   238




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

    Басты бет