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



Pdf көрінісі
бет308/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   304   305   306   307   308   309   310   311   ...   334
Байланысты:
Изучаем Python

topics.html
...
{% for topic in topics %}

  • {{ topic }}

  • {% empty %}
    ...
    Шаблонный тег URL используется для генерирования ссылки на основании схемы 
    URL из 
    learning_logs
    с именем 
    'topic'
    . Этой схеме URL необходим аргумент 
    topic_id
    , поэтому в шаблонный тег URL добавляется атрибут 
    topic.id
    . Теперь 
    каждая тема в списке представляет собой ссылку на страницу темы, например 
    http://localhost:8000/topics/1/
    .
    Если теперь обновить страницу тем и щелкнуть на теме, открывается страница, 
    изображенная на рис. 18.5.
    Рис. 18.5.
    Страница со списком всех записей по отдельной теме
    ПРИМЕЧАНИЕ
    Между 
    topic.id
    и 
    topic_id
    существует неочевидное, но важное раз-
    личие . Выражение 
    topic.id
    проверяет тему и получает значение соответствующего 
    идентификатора . Переменная 
    topic_id
    содержит ссылку на этот идентификатор в коде . 
    Если вы столкнетесь с ошибками при работе с идентификаторами, убедитесь в том, что 
    эти выражения используются правильно .


    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
    , содержащего функциональность форм.


    424

    Достарыңызбен бөлісу:
    1   ...   304   305   306   307   308   309   310   311   ...   334




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

        Басты бет