2012-04-30 102 views
0

我如何在自定義標籤類(template.Node)內使解析器呈現帶有標籤的html代碼片段? 例如:解析模板標籤中的自定義html,django 1.4

@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}} SPAM',而不使any_tag_here。這顯然是可以預測的,但是我怎樣才能改變返回值,使得any_tag_here被渲染爲「原生」?有沒有使用我可以使用的上下文的方法?

回答

0
def render(self, context): 
    spam_html = "SPAM %(any_tag_here)s SPAM" % context 
    return spam_html 
+0

這只是錯誤的 – FRD

0

我無法解決問題。我選擇了另一種方法:不是渲染HTML裏面的標籤,我現在做的

{% addspam %} 
    {{ any_tag_here }} 
{% end_addpsam %} 

,幫助我的代碼的鬆散耦合,並在特定的情況下,我有工作就好了。

相關問題