【发布时间】:2016-05-22 07:19:40
【问题描述】:
我有一个名为“GOALS”的字段,它呈现为模板变量并存储在 django 模型中。该字段通过管理界面输入并包含原始 html,因此在 django 模板中有
<html>
...
<P>{{ GOALS|safe }}</P}
...
</html>
现在我想在使用我自己的模板标签将它放入上下文之前渲染这个变量。这将允许工作人员输入将查询数据库的标签,而不是硬编码变量,例如由 slug 识别的项目标题等。
我想过让他们输入模板标签如
GOALS = "... {{ "slug"|gettitle }} ..."
并在它进入上下文之前渲染目标
from django.template import Template, Context
html2render = "{% load episode_tags %}" + GOALS
miniTemplate = Template(html2render)
context = Context({})
GOALS = miniTemplate.render(context)
但是以这种方式使用 Template 加载我的模板标签不起作用,并且这会导致 TemplateSyntaxError 崩溃。所以我想我可以使用 ElementTree 和 XML,但在我继续做之前(这有点乏味)我想问问更广泛的社区是否有更好的方法来做到这一点。
【问题讨论】:
-
TemplateSyntaxError说什么?您基本上在传递给Template的模板中有一些错误,您必须修复它们,它会正常工作。 -
这是 ipdb 的输出> p html2render u'
你好 - {{ "LPPizzaToppingsRepresentingFractionsUpToQuarter"|field_from_slug }}
\r\n\r\n- \ r\n\t
- 体验创建数据显示 \r\n\t
- 了解如何解释数据显示 \ r\n\t
- 发展数学比较词汇 \r\n
标签: django templates rendering