模板标签里面的对象TextField
问题描述:
我需要自定义模板标签里面的model.TextField
值。对象文本字段中的值与"lorem ipsum dolor {% mytag %}"
类似,但“mytag”不呈现为模板标记。它在库中作为标签注册并加载到页面上,我有{{ object.textfield|safe }}
过滤器。它有可能吗?模板标签里面的对象TextField
答
由于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
是空的,您可能还需要将带有模板变量的字典传递给它。
此外,要在模板中直接处理它,您可以编写一个自定义的模板标签,它可以做类似的事情,基本上是一个templatetag,用于为模板标签分析字符串。
非常感谢Dirk – Goran 2012-08-10 20:24:50