2015-07-10 49 views
0

如何調用方法,將多個參數傳遞給它並在html模板中呈現結果?我無法找到適用於所有情況的簡單解決方案。我知道@register.filter@register.simple_tag但總是有錯誤被拋出。如果不是事情,那是另一回事。例如,simple_tag在我渲染時起作用,但當我撥打if時會引發錯誤。使用模板中的多個參數調用方法

所以,我怎麼能叫從HTML模板在以下方面的方法:

{{method1(a, b)}} 
{% if method1(a, b) == some_value %} {{method1(a, b)}} {%endif%} 

注意我並不需要諮詢類似「你做錯事,你應該改變你的架構」,因爲這裏不是這種情況。我只是一個簡單的方法來做我想做的事情。例如,在Rails中,我可以非常輕鬆地做到這一點。

回答

0

您可以使用分配標籤將從模板標籤接收到的值分配給一個變量,然後該變量可用於模板中的任何位置。

@register.assignment_tag 
def method1(a,b): 
    ... 

然後在您的模板中,您可以調用此模板標記並將其值分配給變量method_value

{% method1 a b as method_value %} 

然後在模板中使用這個變量。

{{method_value}} 

{% if method_value == some_value %} {{method_value}} {%endif%} 
相關問題