我正在基于Django应用程序中的不同视图显示动态标题,我想在base.html文件的3个meta标签上设置相同的标题, 在所有其他模板中得到扩展。
当我在标题变量上设置一个字符串时,这可以正常工作:
{% with title='TEST'%}
<title>{% block page-title %}{% block title %}{% endblock %} | {{ agency.name }}{% endblock %}</title>
<meta property="og:title" content="{{title}}" />
<meta name="twitter:title" content="{{title}}" />
{% endwith %}
我想将动态标题设置为:
{% with title="{% block page-title %}{% block title %}{% endblock %} | {{agency.name }}{% endblock %}"%}
<title>{{title}}</title>
<meta property="og:title" content="{{title}}" />
<meta name="twitter:title" content="{{title}}" />
{% endwith %}
但是当我这样做的时候,我没有得到title变量中的值:
如何将其设置为带有模板标签的变量,然后在其他标签中重复使用该变量? 还是有其他方法可以做到?
答案 0 :(得分:0)
您可以尝试使用block assignment功能:
{% with %}
{% set title %}{% block page-title %}{% block title %}{% endblock %} | {{ agency.name }}{% endblock %}{% endset %}
<title>{{ title }}</title>
<meta property="og:title" content="{{title}}" />
<meta name="twitter:title" content="{{title}}" />
{% endwith %}