#python #django
#python #django
Вопрос:
Я ищу способ абстрагировать панель навигации в django и включить ее в base.html ; напрямую или через включение шаблона.
Часть, в которой я полностью запутался, заключается в том, как добавить данные в контекст, чтобы панель навигации могла получать их содержимое из базы данных.
Я хотел бы запросить данные в views.py и сделайте это доступным для шаблона, чтобы я мог создать панель навигации.
Спасибо.
Ответ №1:
Нет, вы бы этого не сделали. Вместо этого напишите пользовательский тег шаблона.
<html>
...
<div class="navbar">{% navbar %}</div>
...
</html>
Комментарии:
1. Я предпочитаю этот подход, потому что вы обращаетесь к базе данных только тогда, когда вам это нужно, а не вслепую для каждого запроса.
2. Я смог решить эту проблему с помощью inclusion_tags в ссылке.
Ответ №2:
Если вам нужно добавить информацию, которая должна быть доступна для всех шаблонов, включая base.html вам следует взглянуть на context_processor.py . Это может добавить информацию в контекст, чтобы на вашей странице были доступны данные в формате avi. Я нашел блог об этом здесь:http://www.b-list.org/weblog/2006/jun/14/django-tips-template-context-processors