我已经了解了如何编写基于这样的模板设置上下文变量的模板标签
{% my_template_tag 'blah' as my_context_variable %}
但我希望能够做到这一点:
假设 group
和 user
都在 View 的上下文中设置
{% is_in_group group user as is_member %}
{% if is_member %}
#.... do stuff ....
{% endif %}
或者理想情况下是这样的:
{% if is_in_group group user %}
# ....
{% end if %}
显然,反过来就是在 View 中设置 is_member
- 但这只是一个例子,无论如何都知道如何做这样的事情会很好!
最佳答案
Evgeny 对 smart_if 模板标签有一个好主意。但是,如果这不起作用,您可能会发现为这种比较编写自定义过滤器更容易。像这样的东西:
@register.filter
def is_in(obj, val):
return val is in obj
你会像这样使用它:
{% if user|is_in:group.users %}
关于django - 如何在 Django 中编写更好的模板标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1827976/