Django: Страница ‘Контакты’ и навигация

Изменение кнопок навигации

Модифицируем кнопки навигации. Заменим надпись «Узнали больше» на «Новости» и добавим кнопку «Контакты»:

  • Кнопка «Новости»: Текст изменен на «Новости».
  • Кнопка «Контакты»: Добавлен новый элемент с текстом «Контакты» и стилистическим оформлением.

Создание новой функции в 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-шаблонизатор позволяет эффективно управлять данными и создавать динамические веб-страницы.

Что будем искать? Например,программа