如何在 Django 模板中的“带有模板标签”中设置 Django 渲染块值?
Posted
技术标签:
【中文标题】如何在 Django 模板中的“带有模板标签”中设置 Django 渲染块值?【英文标题】:How can i set a Django render block value in the "with template tag", in Django Template? 【发布时间】:2019-12-04 15:52:19 【问题描述】:我根据 Django 应用程序中的不同视图显示动态标题,我想在我的 base.html 文件中的 3 个元标记上设置相同的标题, 它在所有其他模板中得到扩展。
当我在标题变量上设置一个字符串时,这可以正常工作:
% 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 %
但是当我这样做时,我没有得到标题变量中的值:
如何将其设置为带有模板标签的变量,然后在其他标签中重新使用该变量? 或者还有其他方法吗?
【问题讨论】:
【参考方案1】:你可以试试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 %
【讨论】:
我有 django 模板。它给我的错误是:“with”期望至少一个变量赋值。 我想你可以安全地删除'with'。 错误:“设置”。您是否忘记注册或加载此标签? 我猜,这是用于烧瓶,而不是用于 django 模板。我有 Django 模板。 好的,没问题。我在 Django 模板中寻找同样的东西。以上是关于如何在 Django 模板中的“带有模板标签”中设置 Django 渲染块值?的主要内容,如果未能解决你的问题,请参考以下文章