所以我被扔进了一个Jinja2电子邮件模板场景,我无法弄清楚并希望能够正确描述(也许它不可能),但我也没有足够的知识来了解Jinja2和电子邮件模板如何与SQL一起工作,其中SQL是在渲染时分配@@值。我有以下内容:
<!-- {% set partner_shortname = '@@SHORTNAME' %} -->
<!-- {% set partner_name = '@@PARTNER' %} -->
<!--display values to check-->
<p>PARTNER NAME: {{ partner_name }}</p>
<p>PARTNER SHORTNAME 1: {{ partner_shortname }}</p>
<!--
{% if partner_shortname == 'ABCD' %}
{% set hexColor = '#CC0000' %}
-->
<p>LENGTH1: {{ partner_shortname|length }}</p>
<!-- {% else %}
{% set hexColor = '#57a377' %}
-->
<p>LENGTH2: {{ partner_shortname|length }}</p>
<!-- {% endif %} -->
<!-- display hex code based on partner -->
<p>HEX CODE: {{ hexColor }}</p>
所以,我的问题如下:打印像{{partner_shortname}}或{{partner_name}}之类的东西给了我在变量中设置的值(即:ABCD或Alpha Beta Charlie Delta),但是当它命中时我的if语句partner_shortname是@@ SHORTNAME,并且似乎没有ABCD的值,因为打印时长度为11(@@ SHORTNAME)。为什么打印的变量有值但if语句没有?我错过了什么?