假设我有以下代码base.html
:
<meta name="description" content="{% block description %}Some description{% endblock %}">
其他扩展的模板base.html
将覆盖块的内容,因此每个页面都有自己的描述。
如果我想添加<meta property="og:description" content="" />
,其中内容的值应该等于上述值,该怎么办?
我怎样才能将内容添加block
到其他地方?
不确定
{% block %}
您是否需要该模板功能。我认为你可以设置一个变量来代替块:
在每个视图中,您可以定义
extra_context
:一个想法可能是使用
django-template-macros
。因此,我们可以用以下命令安装它:并将其添加为已安装的应用程序之一:
然后我们可以在“根”模板中使用它:
但这很可能不是一个好主意:描述需要 HTML 编码,因此
>
应重写为>
和。Django 的模板语言会自动使用变量而不是块来执行此操作&
。&