Python 在模板中使用多个参数调用方法
如何调用一个方法、向其传递多个参数并在html模板中呈现结果?我找不到一个适用于所有情况的简单解决方案。我知道Python 在模板中使用多个参数调用方法,python,django,Python,Django,如何调用一个方法、向其传递多个参数并在html模板中呈现结果?我找不到一个适用于所有情况的简单解决方案。我知道@register.filter和@register.simple_tag但是总是会抛出错误。如果这不是一件事,那就是另一件事。例如,simple_标记在渲染时有效,但在调用if时抛出错误 因此,如何通过以下方式从html模板调用方法: {{method1(a, b)}} {% if method1(a, b) == some_value %} {{method1(a, b)}}
@register.filter
和@register.simple_tag
但是总是会抛出错误。如果这不是一件事,那就是另一件事。例如,simple_标记在渲染时有效,但在调用if
时抛出错误
因此,如何通过以下方式从html模板调用方法:
{{method1(a, b)}}
{% if method1(a, b) == some_value %} {{method1(a, b)}} {%endif%}
注意,我不需要像“你做错了什么,你应该改变你的架构”这样的建议,因为这里不是这样。我只是想用一种简单的方法来做我想做的事。例如,在Rails中,我可以非常轻松地完成这项工作 您可以使用赋值标记将从模板标记接收的值赋值到变量中,然后该变量可以在模板中的任何位置使用
@register.assignment_tag
def method1(a,b):
...
{{method_value}}
{% if method_value == some_value %} {{method_value}} {%endif%}
然后在模板中,您可以调用此模板标记并将其值分配给变量方法\u值
{% method1 a b as method_value %}
然后在模板中使用此变量
@register.assignment_tag
def method1(a,b):
...
{{method_value}}
{% if method_value == some_value %} {{method_value}} {%endif%}