2016-08-02 2 views
1

いくつかのXML文字列を保存するためにDjangoテンプレートを使用します。あなたは、私は、このようなproperty_elementなど、いくつかの変数を渡す見ることができるようにDjangoテンプレートの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> 

: XML文字列は次のようになります。 この変数は、実際にこのようになります別の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 

は、自動的にキャストされません。ですから、値は次のようになります:<と>

どのように私はそれらを自動作成できますか?

答えて

1

これはあなたの正確なコードですか?あなたはプロパティ要素をレンダリングしているが、定義していないということを尋ねる。

はとにかく、角括弧がエスケープされていないことを理由にしているため:あなたは

それをオフに切り替えた

{% autoescape off %}{{ property_element }}{% endautoescape %} 

関連する問題