Django if语句不能按预期工作

2024-03-28 14:29:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我的html文件中有以下内容:

{% trans "Result: "%} {{result}} 

它将在浏览器上打印出单词SUCCESS(因为这是字符串包含的内容)

但如果我做以下事情:

^{pr2}$

我发现if语句没有如预期的那样工作。在

为什么会这样??在


Tags: 文件字符串内容transifhtml浏览器语句
2条回答

if语句工作正常。你的问题一定是关于绳子的。也许根本不是一根绳子。在

尝试ifequaltemplatetag:

{% ifequal result 'SUCCESS' %}
   do something
{% else %} 
   do something else
{% endifequal %}

你可以尝试不同的东西。如果在视图中指定result,则可以在同一视图中验证它是否为字符串:

^{pr2}$

如果是上下文处理器,可以应用相同的逻辑。 https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#ifequal

检查此链接: Django String format。 根据django文档,您应该使用以下格式:

{% if result|stringformat:"s" == 'SUCCESS' %}
   do something
{% else %} 
   do something else
{% endif %}

或者

^{pr2}$

或者

{% ifequal result|stringformat:"s" 'SUCCESS' %}
       do something
    {% else %} 
       do something else
    {% endif %}

发生此问题的原因是您的变量类型,您应该先将其更改为字符串,然后再将其与另一个字符串进行比较。在

相关问题 更多 >