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



Pdf көрінісі
бет314/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   310   311   312   313   314   315   316   317   ...   334
Байланысты:
Изучаем Python

431
new_entry.html
{% extends "learning_logs/base.html" %}
{% block content %}

{{ topic }}
Add a new entry:


{% csrf_token %}
{{ form.as_p }}


{% endblock content %}
В начале страницы выводится тема 

, чтобы пользователь мог видеть, в какую 
тему добавляется новая запись. Тема также служит ссылкой на главную страницу 
этой темы.
Аргумент 
action
формы включает значение 
topic_id
из URL, чтобы функция пред-
ставления могла связать новую запись с правильной темой 

. В остальном этот 
шаблон почти не отличается от 
new_topic .html
.
Создание ссылки на страницу new_entry
Затем необходимо создать ссылку на страницу 
new_entry
на каждой странице темы:
topic.html
{% extends "learning_logs/base.html" %}
{% block content %}
Topic: {{ topic }}
Entries:
add new entry

    ...

{% endblock content %}
Ссылка добавляется перед выводом записей, потому что добавление новой запи-
си является самым частым действием на этой странице. На рис. 19.2 изображена 
страница 
new_entry
. Теперь пользователь может добавить сколько угодно новых 
тем и новых записей по каждой теме. Опробуйте страницу 
new_entry
, добавив не-
сколько записей для каждой из созданных вами тем.


432
Глава 19 • Учетные записи пользователей
Рис. 19.2.
Страница new_entry
Редактирование записей
А теперь мы создадим страницу, на которой пользователи смогут редактировать 
ранее добавленные записи.
URL-адрес для edit_entry
В URL-адресе страницы должен передаваться идентификатор редактируемой 
записи. В файл 
learning_logs/urls .py
для этого вносятся следующие изменения:
urls.py
...
urlpatterns = [
...
# Страница для редактирования записи
path('edit_entry//', views.edit_entry, name='edit_entry'),
]
Идентификатор, переданный в URL (например, 
http://localhost:8000/edit_entry/1/
), 
сохраняется в параметре 
entry_id
. Схема URL отправляет запросы, соответству-
ющие этому формату, функции представления 
edit_entry()
.
Функция представления edit_entry()
Когда страница 
edit_entry
получает запрос GET, 
edit_entry()
возвращает форму 
для редактирования записи. При получении запроса POST с отредактированной 
записью страница сохраняет измененный текст в базе данных:


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


Достарыңызбен бөлісу:
1   ...   310   311   312   313   314   315   316   317   ...   334




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

    Басты бет