我使用Django模板来存储一些XML字符串。 xml字符串如下所示:
<wfs:Transaction service="WFS" version="1.0.0"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:wfs="http://www.opengis.net/wfs">
<wfs:Update typeName="geonode:{{ layer_name }}">
{% autoescape off %}{{ property_element }}{% endautoescape %}
<ogc:Filter>
<ogc:FeatureId fid="{{ layer_name }}.{{ feature_id }}"/>
</ogc:Filter>
</wfs:Update>
如您所见,我传递了一些变量,例如property_element。 这个变量实际上是另一个xml字符串,如下所示:
property_element_1 = """<wfs:Property>
<wfs:Name>{}</wfs:Name>
<wfs:Value>{}</wfs:Value>
</wfs:Property>\n""".format(attribute, value)
这就是我将属性渲染到模板的方式:
xmlstr = get_template(xml_path).render(Context({
'layer_name': layer_name,
'coords': coords,
'property_element': property_element})).strip()
问题是xmlstr的一部分,它对应于
property_element_1
没有自动转移。所以我得到的价值如下:&lt;和&gt;
我如何自动取景?
答案 0 :(得分:1)
这是您的确切代码吗?问,因为你正在渲染一个属性元素,但你还没有定义一个。
无论如何,角括号没有被转义的原因是:
{% autoescape off %}{{ property_element }}{% endautoescape %}
您已将其关闭