Как мне написать тег copyblock для шаблонов Django?
Для такой функции:
<title> {% block title %} some title... {% endblock %} </title>
<h1>{% copyblock title %}</h1>
Как мне написать тег copyblock для шаблонов Django?
Для такой функции:
<title> {% block title %} some title... {% endblock %} </title>
<h1>{% copyblock title %}</h1>
Взгляните на решения, упомянутые в этом вопросе:
Парсер шаблонов Django не отображает блоки по имени. Вместо этого они организованы в древовидную структуру в Template
nodelist
Django с рендерингом push
ing и pop
ping в стеке узлов шаблона. У вас будет практически невозможно получить к ним доступ так, как показывает ваш пример.
Ссылка SO, которая содержит ссылки ars, дает предложения по лучшим решениям. Из этих решений определение переменной в контексте (например: {{ title }}
в духе вашего примера), которую можно использовать повторно, является, вероятно, наиболее простым и поддерживаемым подходом. Если фрагмент, который вы хотите скопировать, выходит за рамки простой переменной, пользовательский тег шаблона, вероятно, является наиболее привлекательным вариантом.
{{ title }}
и предоставлении дополнительного контекста. Пользовательские теги шаблонов редко окупаются.
- person S.Lott; 29.07.2009