我如何调用一个方法,向它传递多个参数,并在html模板中呈现结果?我找不到一个在所有情况下都适用的简单解决方案。我知道@register.filter和@register.simple_tag,但是总是会抛出一个错误。如果不是真的,那就是另一回事了。例如,simple_tag在呈现它时工作,但在调用if时抛出一个错误。
因此,如何通过以下方式从html模板调用方法:
{{method1(a, b)}}
{% if method1(a, b) == some_value %} {{method1(a, b)}} {%endif%}注意,我不需要像“你做错了什么,你应该改变你的架构”这样的建议,因为这里不是这样的。我只是一个简单的方法来做我想做的事。例如,在Rails中,我可以非常非常容易地做到这一点。
发布于 2015-07-10 04:37:41
您可以使用赋值标记将从模板标记接收到的值赋值到变量中,然后该变量可以在模板中的任何位置使用。
@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%}https://stackoverflow.com/questions/31332472
复制相似问题