首页 > 解决方案 > Django 条件渲染模板

问题描述

我是 django 的新手,我试图只渲染其中没有“After”或“Before”这个词的文本。然而,这并没有破坏任何东西,但它实际上并没有删除这些值?

我查看了使用正则表达式,但这确实不推荐用于 django 模板。

{% if "After" not in window.name or "Before" not in window.name %}
    {{window.event_id}}-{{window.name}}
{% endif %}

我正在处理的代码库几乎不可能在您使用模板之前删除模型中的这些值......我只能为维护和忍受这个道歉!

标签: djangodjango-templates

解决方案


问题是你的条件总是正确的。

这是一种方法。可能不是最理想的。

{% if "After" in window.name or "Before" in window.name %}

{% else %}
{{window.event_id}}-{{window.name}}
{% endif %}

这样,它仅在字符串中既没有“之前”也没有“之后”时打印。我没有测试这段代码,但希望你能明白。


推荐阅读