Я работаю над клиентским веб-сайтом Django / Mezzanine, у которого есть странная проблема, которую я просто не могу понять. На странице блога (шаблон blog_post_list.html) я не могу получить мета-заголовок страницы для отображения, то есть
{% block meta_title %}
{{ blog_page.title }}
{% endblock %}
В итоговом HTML-коде не выводится. То же самое и с метаописанием, но меня это не беспокоит. Странно то, что, похоже, он отлично работает для отдельных записей в блогах, а также для всех других страниц на веб-сайте, кроме списка блогов.
Любые идеи?
2 ответа
По-видимому, возникла небольшая путаница: я думал, что blog_page.title - это стандартная переменная в мезонине, по-видимому, это не так, это была пользовательская модель, созданная предыдущим разработчиком. Поскольку в основном у меня есть только шаблоны и дамп БД, восстановить исходную модель для класса blog_page не представляется возможным, поэтому я просто решил это, указав мета-заголовок вручную в шаблоне blog_post_list.
В шаблоне Django ничего не отображается, если вы визуализируете несуществующую переменную или значение переменной равно None.
Сначала проверьте, отображает ли что-нибудь {{ blog_page }}
. Если он не проверяет, находится ли blog_page
в контексте вашего шаблона.
Вы можете отлаживать контекст шаблона, написав простой настраиваемый тег шаблона, например:
Templates / your_template.html:
{% load pdb from debug %}
{% block meta_title %}
{% pdb %}
{{ blog_page.title }}
{% endblock %}
Templatetags / debug.py:
from django import template
register = template.Library()
@register.simple_tag(name='pdb', takes_context=True)
def pdb(context, *args, **kwargs):
import ipdb;
ipdb.set_trace()
Похожие вопросы
Новые вопросы
html
HTML (язык разметки гипертекста) - это язык разметки для создания веб-страниц и другой информации, отображаемой в веб-браузере. Вопросы, касающиеся HTML, должны включать минимальный воспроизводимый пример и некоторое представление о том, чего вы пытаетесь достичь. Этот тег редко используется отдельно и часто используется вместе с [CSS] и [javascript].