首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jinja2条件在表达式中不匹配,如何解决这个问题?

Jinja2条件在表达式中不匹配,如何解决这个问题?
EN

Stack Overflow用户
提问于 2019-11-14 17:36:19
回答 1查看 155关注 0票数 2

我目前在Jinja2模板中解析为else的第一个else语句遇到了问题,尽管这两种条件都得到了满足:

代码语言:javascript
复制
{%- elif frontend_type == 'beast' -%}
{{ radosgw_frontend_type }} {{ 'ssl_' if radosgw_frontend_ssl_certificate and haproxy_frontend_ssl_termination is sameas false else '' }}endpoint={{ _rgw_binding_socket }}{{ ' ssl_certificate='+radosgw_frontend_ssl_certificate if radosgw_frontend_ssl_certificate else '' }}
{%- endif -%}

问题片段似乎是and haproxy_frontend_ssl_termination is sameas false,因为另一个条件很好。我不知道为什么这个条件不能满足,即使它似乎在另一个模板中工作时封装在{% %}中。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-14 18:07:53

我怀疑您的问题是sameas测试的使用。来自文献资料

(价值,其他) 检查一个对象是否指向与另一个对象相同的内存地址:

这几乎不是你想做的事。如果要检查表达式是否为false,则不需要显式地将其与false进行比较。例如,你可以简单地写:

代码语言:javascript
复制
{{ 'ssl_' if radosgw_frontend_ssl_certificate and not haproxy_frontend_ssl_termination else '' }}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58862736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档