我需要里面的自定义模板标签model.TextField
价值。对象文本字段中的值类似于"lorem ipsum dolor {% mytag %}"
但“mytag”不会呈现为模板标签。它在库中注册为标签并加载到页面上,我有{{ object.textfield|safe }}
筛选。有可能吗?
由于 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
是空的,你不妨向它传递一个带有模板变量的字典。
此外,要直接在模板中处理它,您可以编写一个自定义模板标签,它执行类似的操作,基本上是一个解析模板标签字符串的模板标签。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)