Django. Как показать контент только на одной странице без дублирования? - PullRequest
1 голос
/ 17 апреля 2020

Для начала, я новичок в Django.

У меня есть панель поиска, и я хочу показать ее только на одной странице. Я использую {%block searchbar %} {%endblock%} на всех страницах, где я не хочу видеть строку поиска. Но вдруг я подумал: я дублирую код, и это нарушает принцип «DRY». Итак, как я могу отобразить некоторый контент на одной странице, не дублируя этот {%block searchbar %} {%endblock%} материал?

Заранее спасибо за вашу помощь!

1 Ответ

0 голосов
/ 17 апреля 2020

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

Поместите код для панели поиска в файл HTML с именем "searchbar.html, а затем включите его на любые нужные страницы.

{% extends "header.html" %}

{% block bar %}
   {% include "searchbar.html" %} <!-- Simply include this on pages that you want -->
{% endblock %}

таким образом вы не нарушите принцип DRY.

...