如何调用方法,将多个参数传递给它并在html模板中呈现结果?我无法找到适用于所有情况的简单解决方案。我了解@register.filter
和@register.simple_tag
,但总是会抛出错误。如果不是,那就是另一回事。例如,simple_tag在我渲染时起作用,但在我调用if
时会抛出错误。
那么如何通过以下方式从html模板调用方法:
{{method1(a, b)}}
{% if method1(a, b) == some_value %} {{method1(a, b)}} {%endif%}
注意我不需要像#34;你做错了什么的建议,你应该改变你的架构"因为这不是这里的情况。我只是一个简单的方法来做我想要的。例如,在Rails中,我可以非常非常轻松地完成它。
答案 0 :(得分: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%}