Изменение кнопок навигации
Модифицируем кнопки навигации. Заменим надпись «Узнали больше» на «Новости» и добавим кнопку «Контакты»:
- Кнопка «Новости»: Текст изменен на «Новости».
- Кнопка «Контакты»: Добавлен новый элемент с текстом «Контакты» и стилистическим оформлением.
Создание новой функции в views.py
В файле views.py приложения main создадим функцию contact:
def contact(request):
context = {
'content': [
'Если у вас остались вопросы, то задавайте их по телефону:',
'+7-XXX-XXX-XX-XX',
'Или напишите нам на почту: example@example.com'
]
}
return render(request, 'basic.html', context)
Функция принимает запрос (request) и передает в шаблон basic.html словарь context с ключом content, содержащим список текста, номера телефона и адреса электронной почты.
Модификация шаблона basic.html
Шаблон basic.html будет содержать код, обрабатывающий данные из context:
{% for item in content %} <p>{{ item }}</p> {% endfor %}
Здесь используется цикл for для перебора элементов списка content и вывода каждого элемента в отдельном абзаце. Для более гибкого отображения можно использовать условные операторы:
{% if item == "Если у вас остались вопросы, то задавайте их по телефону:" %} <h3>{{ item }}</h3> {% else %} <p>{{ item }}</p> {% endif %}
Добавление обработчика URL
В файле urls.py добавим обработчик для страницы «Контакты»:
from django.urls import path, re_path
from . import views
urlpatterns = [
re_path(r'^$', views.index, name='home'),
re_path(r'^contact/$', views.contact, name='contact'),
# ... другие обработчики
]
Теперь, при переходе по адресу /contact/, будет вызываться функция contact.
Настройка settings.py
Для предотвращения отображения подробной информации об ошибках пользователю, в файле settings.py установите:
DEBUG = False
В режиме разработки (DEBUG = True) отображение подробной информации об ошибках полезно для отладки.
Мы передали данные из Python в HTML-шаблон, используя Django и его систему шаблонизации. Функциональность существующего приложения расширена добавлением страницы «Контакты» без создания нового приложения. Django-шаблонизатор позволяет эффективно управлять данными и создавать динамические веб-страницы.