如何在自定义标记类(template.Node)中使解析器呈现带有标记的html片段? 例如:
@register.tag(name='addspam')
class AddSpam(template.Node):
def __init__(self, parser, token): ...
def render(self, context):
spam_html = "SPAM {{ any_tag_here }} SPAM"
return spam_html
在这里,AddSpam在“被叫”时会返回“SPAM {{any_tag_here}}垃圾邮件”,而不会呈现any_tag_here。这显然是可以预测的,但我怎样才能更改返回值,以便any_tag_here被渲染为好像是'native'?有没有使用我可以使用的上下文的方法?
答案 0 :(得分:0)
def render(self, context):
spam_html = "SPAM %(any_tag_here)s SPAM" % context
return spam_html
答案 1 :(得分:0)
我无法解决问题。我选择了另一种方法:而不是在我正在做的html中渲染标签
{% addspam %}
{{ any_tag_here }}
{% end_addpsam %}
这有助于我的代码松散耦合,并且在我所处的特定情况下工作得很好。