我有一个非常具体的问题。
我写了一个特殊的模板标签,根据一些计算显示一些HTML代码。标签呼叫如下所示:
{% chord 'A' %}
生成的输出是
<div class="chord">A <audio src="/media/chords/A/A.mp3" controls>Not supported</audio></div>
一切正常,但我来到了我需要将此输出放在我视图中的变量中,而不是模板中。它有可能吗?是否有一个方法,我可以从视图内部调用,以获得具有给定参数的自定义标记输出?
答案 0 :(得分:3)
好吧,您可以在视图中定义模板字符串并进行渲染:
tpl = Template("{% load chord %}{% chord 'A' %}")
html = tpl.render(Context())
但更好的方法可能只是将标记代码的逻辑提取到实用程序函数中,您可以从视图和模板标记本身调用它。