我有一个模板接收列表上下文变量tags_list。我需要遍历这个列表中的模板是这样的“插入”标签:包含模板标签的Django模板变量,前{{{%some_tag%}}}
{% for tag in tags_list %}
{{ tag.tag }}
{% endfor %}
当这使得它返回tag.tag的文本值,“{%tagxxx%}”,而不是渲染标签。
如何让模板渲染呈现上下文变量的值?或者,是否有一个过滤器,一种逆向逐字,会导致上下文变量的值被渲染?
更新背景
TAGS_LIST通过涉及从表/模型领域的一些用户提供的文本的EXEC一个相当复杂的过程中产生。真正的模板的相关部分看起来是这样的:
{% for graph_row in graph_rows %}
<div class="row">
{% for graph in graph_row %}
<div class="col-md-{{ graph.width }}">
{{ graph.graph }}
</div>
{% endfor %}
</div>
{% endfor %}
图中的值是这样的:{ '图形': '{%饼图数据1%}', '宽度':3}
注上下文变量graph_rows中条目的顺序与行中图的顺序相同,因为它决定了页面上图的位置。保持此顺序对于该方案正常工作至关重要。
目前,查看功能只是做一个{%include ...%}来获取上面的模板段以正确的顺序进行渲染。这种方法简单而干净。
我可以像视图一样在视图函数中执行一个模板渲染,但这会让设计变得复杂一些,我希望避免这样做,如果有一种简单的方法来触发{{graph .graph}}。请注意,通过将渲染移动到视图中,我无法轻松地从任意位置(特别是表格字段)获取模板。
请张贴您的标签型号代码。 –
你的意思是'tag.tag'的值是'{%tagxxx%]',你想要渲染?这是不可能的。 (至少不是默认情况下...) – rednaw
你想迭代这个列表'插入'标签,所以它在views.py可能会更好 – WeizhongTu