gpt4 book ai didi

django - 在 Django 中,是否有一种简单的方法可以在模板中将文本字段呈现为模板?

转载 作者:行者123 更新时间:2023-12-01 07:32:24 25 4
gpt4 key购买 nike

您能想出一种在模板渲染期间将文本字段评估为模板的简单方法吗?

我知道如何在 View 中执行此操作,但我正在寻找模板 Filter 或 Tag ?

就像是:
{{ object.textfield|evaluate}}或者{% evaluate object.textfield %}
使用 object.textfield 包含以下内容:
a text with a {% TemplateTag %}.
其中TemplateTag将被评估,感谢 evaluate筛选。

最佳答案

这是解决我的问题的第一个标签实现:

from django import template

register = template.Library()

@register.tag(name="evaluate")
def do_evaluate(parser, token):
"""
tag usage {% evaluate object.textfield %}
"""
try:
tag_name, variable = token.split_contents()
except ValueError:
raise template.TemplateSyntaxError, "%r tag requires a single argument" % token.contents.split()[0]
return EvaluateNode(variable)

class EvaluateNode(template.Node):
def __init__(self, variable):
self.variable = template.Variable(variable)

def render(self, context):
try:
content = self.variable.resolve(context)
t = template.Template(content)
return t.render(context)
except template.VariableDoesNotExist, template.TemplateSyntaxError:
return 'Error rendering', self.variable

关于django - 在 Django 中,是否有一种简单的方法可以在模板中将文本字段呈现为模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1278042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com