在RSS源中嵌入HTML的最佳方法是什么?

mip*_*adi 6 html django rss

我正在使用Django的RSS功能来构建RSS提要.该<description>RSS提要的项目包含HTML标记.目前,我只是使用以下模板将HTML标记注入到Feed中:

{{ obj.post }}
Run Code Online (Sandbox Code Playgroud)

Django的,当然,转换特殊字符(<,>,&等),以各自的HTML实体.

我知道我可以输出HTML并将所有HTML代码包装<![CDATA[...]]>在一起.该页面说这两种方法都可以接受.如果这是真的,是否有充分的理由选择一种方法而不是另一种?如果我使用示例#2,是否有一个过滤器让Django自动将HTML文本包装在CDATA标签中,或者我应该将模板更改为:

<![CDATA[
{{ obj.post|safe }}
]]>
Run Code Online (Sandbox Code Playgroud)

编辑

看来,Django的autoescapes在RSS源(或与此有关的任何XML)特殊字符无论什么时候,无论你是否使其通过safe过滤器或没有(这个问题在讨论这张票).但是,一般的答案是受欢迎的.

Oli*_*Oli 2

当我在 Django 中遇到这样的问题时,我的第一反应是跑开并找到一个可以完成我想要的功能的普通 Python 库。在这种情况下,PyRSS2Gen可能是您的救星。

它可能需要更多的思考(因为它不知道 Django 对象是什么),但它应该足够原始,可以让你按照你的意愿去做。

如果不是,那也只是一个脚本。如果您愿意,您可以将其拆分以允许原始 HTML =)