Django syndication: Come posso evitare descrizione fuggire?
-
19-09-2019 - |
Domanda
Sto cercando di fare un feed RSS webcomic con Django, ma non posso mettere un'immagine nel campo della descrizione, perché il codice HTML viene sfuggito, anche se è in un {% autoescape off%} blocco.
Ecco la mia descrizione del modello:
{% autoescape off %}
<img src="{{obj.img.url}}"/>
{% endautoescape %}
E questo è il risultato:
<img src="http://localhost:8000/media/comics/001__.png"/>
Come posso evitare questo autoescaping?
Soluzione
Come posso evitare questo autoescaping?
In realtà, è necessario mantenere questo auto-fuga ... Guardate attentamente qualsiasi altro feed RSS: xkcd.com /rss.xml
Citazione di spec dal Consiglio consultivo RSS:
Un canale può contenere qualsiasi numero di elementi. Un elemento può rappresentare un "Storia" - molto simile a una storia in un giornale o una rivista; in tal caso la sua Descrizione è una sinossi storia, e il collegamento punta al pieno storia. Un elemento può anche essere completo in stessa, in caso affermativo, la descrizione contiene il testo ( entità con codifica HTML è consentito ; vedere esempi ), e il Link e titolo possono essere omessi. Tutti elementi di un oggetto sono opzionali, però almeno una di titolo o descrizione deve essere presente.
Altri suggerimenti
Questo non sembra avere nulla a che fare con autoescaping, come che non sarebbe mai 'fuga' dei tag hard-coded che hai inserito in modo esplicito nel modello come avete qui.
Ho il sospetto che ci sia qualcosa di più in basso la linea che sta facendo il suo compito. Puoi pubblicare il codice che rende il modello e fa qualcosa con il risultato?