Pergunta

Estou tentando fazer um feed RSS do Webcomic com o Django, mas não posso colocar uma imagem no campo Descrição, porque o código HTML é escapado, mesmo que esteja em um bloco { % Autoescape Off %}.

Aqui está o meu modelo de descrição:

{% autoescape off %}
<img src="{{obj.img.url}}"/>
{% endautoescape %}

E este é o resultado:

&lt;img src="http://localhost:8000/media/comics/001__.png"/&gt;

Como posso evitar essa criação automática?

Foi útil?

Solução

Como posso evitar essa criação automática?

Na verdade, você precisa manter essa escapação automática ... observe cuidadosamente quaisquer outros feeds RSS: xkcd.com/rss.xml

Citação de Spec pelo conselho consultivo do RSS:

Um canal pode conter qualquer número de itens. Um item pode representar uma "história" - como uma história em um jornal ou revista; Nesse caso, sua descrição é uma sinopse da história, e o link aponta para a história completa. Um item também pode estar completo em si, se assim for, a descrição contém o texto (O HTML codificado por entidade é permitido; Veja exemplos) e o link e o título podem ser omitidos. Todos os elementos de um item são opcionais, no entanto, pelo menos um título ou descrição deve estar presente.

http://www.rssboard.org/rss-encoding-examples

Outras dicas

Isso não parece ter nada a ver com a criação automática, pois isso nunca "escaparia" das tags codificadas que você entrou explicitamente em seu modelo, como você tem aqui.

Suspeito que haja algo mais adiante que está fazendo a fuga. Você pode postar o código que renderiza o modelo e faz algo com o resultado?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top