html - 在 RSS 提要中嵌入 HTML 的最佳方式是什么?

标签 html django rss

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

{{ obj.post }}

当然,Django 会将特殊字符(<>& 等)翻译成它们各自的 HTML 实体。

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

<![CDATA[
{{ obj.post|safe }}
]]>

编辑

无论您是否通过 safe 传递它,Django 似乎都会自动转义 RSS 提要(或与此相关的任何 XML)中的特殊字符。过滤或不过滤(这个问题在 this ticket 中讨论)。但是,欢迎提供一般性答案。

最佳答案

当我在 Django 中遇到这样的问题时,我的第一直觉是跑开并找到一个正常的 Python 库来做我想做的事情。在这种情况下 PyRSS2Gen可能是您的救星。

它可能需要多花点功夫(因为它不知道什么是 Django 对象)但它应该足够原始以让您随心所欲。

如果不是,那只是一个脚本。如果你愿意,你可以把它拆开以允许原始 HTML =)

关于html - 在 RSS 提要中嵌入 HTML 的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/444231/

相关文章:

html - 如何为两个标签设置一个CSS规则?

mysql - 如何实现 Django 用户被其他用户引用的关系?

python - 在 generic.UpdateView 中传递上下文变量

iphone - 应用商店中是否有针对 iOS 应用评论的 RSS 提要?

javascript - 跳过 Javascript 循环中的错误

javascript - 如何格式化 bootstrap 4 按钮以在按钮的不同位置显示部分文本

javascript - 我想将一个文本框的值获取到 html/javascript 或 jsp/ajax 中的另一个文本框

javascript - 如何使用 JQuery 制作显示动态图像放大版本的弹出窗口?

django - 重定向并强制下载

java - 每次收听RSS并实时获取更新的好方法是什么?