Как сделать HTML в RSS / Atom-каналах Django для встраивания HTML?(CDATA) - PullRequest
0 голосов
/ 01 октября 2018

Обзор:

Привет, я прочитал эту страницу: Каков наилучший способ встраивания HTML в канал RSS? и djangoДокументы для синдикации, для советов о том, могу ли я встраивать html в каналы RSS / Atom.

Одним из полей моей модели BlogPost является поле about = models.TextField(), которое имеет тег {% autoescape off %}потому что это html-шаблон, , чтобы я мог использовать сырой html там для рендеринга некоторых <ol> и <ul>, и объекты рендерится очень хорошо, когда я иду к этим html страниц.

Теперь у меня оба канала настроены правильно с помощью механизма синдикации django.И когда я щелкаю одну из ссылок на ленту новостей, даже если это страница XML, BlogPostRSSFeed и BlogPostAtomFeed возвращают поле item.about так, как я хочу, чтобы оно выглядело в соответствии с HTML, который я написал.Просмотр исходного кода показывает, что все символы экранированы, и я в порядке, пока он работает.

Но проблема в том, что я читаю, что мне нужен CDATA в шаблоне для этого, чтобыработать правильно (см. ссылку SO выше) .

Вопрос:

Могут ли программы чтения каналов правильно отображать этот html ???Или, может быть, только новые читатели корма ???Кто-нибудь знает какие-либо варианты массового тестирования, где я мог бы проверить 20+ читателей за раз, чтобы увидеть результаты?

Что я пробовал:

Чтение на CDATA говоритчто-либо, что положено в CDATA не анализируетсяТаким образом, чтобы проверить это, когда я добавляю шаблон для title_template, который содержит <![CDATA[ {{ obj.title }} ]]>, и description_template, который содержит <![CDATA[ {{ obj.about}} ]]>, как сказано, вы должны сделать в документах ....

Затем поле obj.title выглядит так на странице rss моего браузера Firefox: <![CDATA[ 4th post title ]]>.

И тогда поле obj.about вообще не отображается (хотяотображается при просмотре исходного кода).

Любая помощь приветствуется.

...