我目前在Jinja2模板中解析为else的第一个else语句遇到了问题,尽管这两种条件都得到了满足:
{%- 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,因为另一个条件很好。我不知道为什么这个条件不能满足,即使它似乎在另一个模板中工作时封装在{% %}中。
任何帮助都将不胜感激!
发布于 2019-11-14 18:07:53
我怀疑您的问题是sameas测试的使用。来自文献资料
(价值,其他) 检查一个对象是否指向与另一个对象相同的内存地址:
这几乎不是你想做的事。如果要检查表达式是否为false,则不需要显式地将其与false进行比较。例如,你可以简单地写:
{{ 'ssl_' if radosgw_frontend_ssl_certificate and not haproxy_frontend_ssl_termination else '' }}https://stackoverflow.com/questions/58862736
复制相似问题