如何在Django模板中设置变量(使用set标记)?

2024-10-01 19:22:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在django模板里面有这样的东西。我想在javascript文件或其他模板文件中使用这些变量。在

   {% set titles = {
      'table': form._meta.model._meta.verbose_name_plural.title(),
      'form': form._meta.model._meta.verbose_name.title()
       }
   %}

   {% set dtable = "dt_" + page %}

如何在django模板中创建“set tag”?你的回答对我有帮助。在


Tags: 文件djangonameform模板verbosemodeltitle
2条回答

虽然我认为这通常是可以避免的(django中通常不建议混合使用模板和逻辑),但是通过使用with标记,这似乎是可能的。在

{% with name="World" greeting="Hello" %}     
<html>
<div>{{ greeting }} {{name}}!</div>
</html>
{% endwith %}

在javascript中,它可能是这样的

^{pr2}$

})

有一些限制,我不相信你可以这样设置元组或字典。也就是说,如果您试图使用{%with。。。%}这种逻辑应该在视图中处理。在

Referenced from this SO question.

案例1:

如果要在HTML模板中访问词典。您可以将titles字典传递给模板,并通过点(.)运算符访问字典的任何键。在

<div class="something1">{{ titles.table }}</div> <div class="something2">{{ titles.form }}</div>

案例2:

如果您想将字典发送到HTML模板并在javascript文件中进行访问,我建议您将它们存储在输入(隐藏)元素或任何元素的数据属性中,然后通过javascript进行访问。在

<input type="hidden" id="my-data-table" data-table="{{ titles }}">

你可以像这样访问javascript文件中的字典

var myTitles = document.getElementById("my-data-table"); var titles = myTitles.getAttribute("data-table");

相关问题 更多 >

    热门问题