我想在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”?你的回答对我有帮助。
答案 0 :(得分:1)
虽然我认为通常要避免这种情况(通常建议在django中使用混合模板和逻辑),但通过使用with
标记可能会出现这种情况。
{% with name="World" greeting="Hello" %}
<html>
<div>{{ greeting }} {{name}}!</div>
</html>
{% endwith %}
在javascript中,它可能看起来像这样
$(document).ready(function(){
{% with greeting="hello" %}
var text = '{{ greeting }}'
{% endwith %}
});
有一些限制,我不相信你可以用这种方式设置元组或词典。也就是说,如果您尝试使用{%with ...%}设置更复杂的类型,那么逻辑应该可以在视图中处理。
答案 1 :(得分:0)
案例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");