如何使用 Django 的“with”模板标签保存比较结果?

tri*_*eta 5 python django django-templates

我想在 django 模板中创建新变量,它将具有比较值

obj.site.profile.default_role == obj
Run Code Online (Sandbox Code Playgroud)

不幸的是,这些代码都不起作用:

{% with obj.site.profile.default_role==obj as default %}{% endwith %}

{% with default=obj.site.profile.default_role==obj %}{% endwith %}
Run Code Online (Sandbox Code Playgroud)

什么是正确的语法?

kmm*_*vnr 3

with标签不支持价值评估。

我可以成像的唯一可能的仅模板解决方案是将 html 的一部分拆分为子模板并使用{% include %}标签

{% if obj.site.profile.default_role==obj %}
    {% include 'subtemplate.html' with default=True %}
{% else %}
    {% include 'subtemplate.html' with default=False %}
{% endif %} 
Run Code Online (Sandbox Code Playgroud)