Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Jinja模板空白问题_Python 3.x_Templates_Jinja2 - Fatal编程技术网

Python 3.x Jinja模板空白问题

Python 3.x Jinja模板空白问题,python-3.x,templates,jinja2,Python 3.x,Templates,Jinja2,我正在使用XMLJinja模板创建动态xml文件。 所以当在jinja模板中使用循环时,如下所示 <tag1> <tag2 name="NAME1"> {% if required.data.present -%} <tag3 data = required.data.present.value /> {% endif -%} </ta

我正在使用XMLJinja模板创建动态xml文件。 所以当在jinja模板中使用循环时,如下所示

   <tag1>
       <tag2 name="NAME1">
           {% if required.data.present -%}
           <tag3 data = required.data.present.value />
           {% endif -%}
       </tag2>
   </tag1>

{%如果需要。data.present-%}
{%endif-%}
Iam期望输出为:

    <tag1>
        <tag2 name="NAME1">
            <tag3 data = required_data />
        </tag2>
    </tag1>

但原始输出是:

    <tag1>
        <tag2 name="NAME1">
            <tag3 data = required_data />
            </tag2>
    </tag1>


这里的问题是什么?

之所以发生这种情况,是因为您在
endif
上的减号删除了右侧的空格和新行:
{%endif-%}

您可以使用正确的标识来删除左
{%-endif%}
的空格:


{%如果需要。data.present-%}
{%-endif%}
显示:


发生这种情况是因为您在
尾端加上的减号将删除右侧的空格和新行:
{%endif-%}

您可以使用正确的标识来删除左
{%-endif%}
的空格:


{%如果需要。data.present-%}
{%-endif%}
显示:



是的。我按照你的建议试过了。只有在endif:
{%-endif-%}
的两侧加一个负号时,才能在的同一行中打印,而不是在下一行中对齐。您想要的正是答案中的内容:
{%-endif%}
是的。我按照你的建议试过了。只有在endif:
{%-endif-%}
的两侧加一个负号时,才能在的同一行中打印,而不是在下一行中对齐。您想要的正是答案中的内容:
{%-endif%}