Django Syndication: Como evito a descrição da escape?
-
19-09-2019 - |
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:
<img src="http://localhost:8000/media/comics/001__.png"/>
Como posso evitar essa criação automática?
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.
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?