【问题标题】:template tag inside object TextField对象 TextField 内的模板标签
【发布时间】:2012-08-06 03:24:25
【问题描述】:

我需要在 model.TextField 值中自定义模板标签。来自对象文本字段的值类似于"lorem ipsum dolor {% mytag %}",但“mytag”未呈现为模板标签。它在库中注册为标签并加载到页面上,我有{{ object.textfield|safe }} 过滤器。有可能吗?

【问题讨论】:

    标签: django django-templates django-views


    【解决方案1】:

    由于 Django 的模板引擎可以轻松地在您的代码中的任何位置使用,您应该能够执行以下操作:

    from django.template import Context, Template
    rendered = Template("{% load your_tag_library %}",
        object.textfield).render(Context())
    

    不是从文件中呈现模板,而是从字符串中呈现模板,例如:

    "{% load your_tag_library %}lorem ipsum dolor {% mytag %}"
    

    例如,代码可以在您的视图中使用,也可以作为模型上的方法使用。注意Context 是空的,你不妨传递一个带有模板变量的dict。

    此外,要直接在模板中处理它,您可以编写一个自定义模板标签,它执行类似的操作,基本上是一个模板标签,用于解析模板标签的字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-24
      • 2013-11-21
      • 2014-07-25
      • 2014-04-03
      • 1970-01-01
      • 2016-08-27
      • 2013-06-09
      • 2011-06-14
      相关资源
      最近更新 更多