表达式因无值而未计算

2024-04-26 08:03:20 发布

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

因此,我被扔进了一个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\u shortname}}或{{partner\u name}}之类的内容会给我在变量中设置的值(即:ABCD或Alpha-Beta-Charlie Delta),但是当它命中我的if语句时,shortname是@@shortname,并且在打印时似乎没有值ABCD,因此长度为11(@@shortname)。为什么打印的变量有值而if语句没有?我错过了什么?你知道吗


Tags: name模板jinja2sqlpartnerif电子邮件display