代码之家  ›  专栏  ›  技术社区  ›  Silver Light

Django:在视图中获取自定义标记输出

  •  1
  • Silver Light  · 技术社区  · 14 年前

    我有一个非常具体的问题。

    我编写了一个特殊的模板标记,根据一些计算显示一些HTML代码。标记调用如下所示:

    {% chord 'A' %}
    

    生成的输出是

    <div class="chord">A <audio src="/media/chords/A/A.mp3" controls>Not supported</audio></div> 
    

    我需要把这个输出放在视图中的变量中,而不是放在模板中 . 有可能吗?有没有一个方法,我可以从视图内部调用,用给定的参数获取自定义标记输出?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Alex Peck    12 年前

    好吧,您可以在视图中定义一个模板字符串并渲染它:

    tpl = Template("{% load chord %}{% chord 'A' %}")
    html = tpl.render(Context())
    

    但更好的方法可能只是将标记代码的逻辑提取到实用函数中,您可以从视图和模板标记本身调用该实用函数。