Ich verwende Django-Vorlagen, um einige XML-Zeichenfolgen zu speichern. Die XML-String sieht wie folgt aus:Autoescaping-Werte von XML in Django-Vorlagen
<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>
Wie man sehen kann ich einige Variablen wie property_element passieren. Diese Variable ist eigentlich eine andere XML-Zeichenfolge, die wie folgt aussieht:
property_element_1 = """<wfs:Property>
<wfs:Name>{}</wfs:Name>
<wfs:Value>{}</wfs:Value>
</wfs:Property>\n""".format(attribute, value)
Und das ist, wie ich die Attribute meiner Vorlage machen:
xmlstr = get_template(xml_path).render(Context({
'layer_name': layer_name,
'coords': coords,
'property_element': property_element})).strip()
Das Problem ist, dass der Teil der xmlstr, das entspricht zu
property_element_1
wird nicht autoescaped. So bekomme ich Werte wie: <und>
Wie kann ich sie autoscape?