Django RSS/ATOM 中缺少图像
Image missing in RSS/ATOM with Django
由于 Django 的文档,我正在尝试将图像附加到我的 ATOM 和 RSS 联合提要:https://docs.djangoproject.com/fr/1.11/ref/contrib/syndication/
我要喂食:http://example.com/rss and http://mywebsite.com/atom
rss.py
class LatestEntriesFeed(Feed):
title = "MyWebsite"
link = "/"
description = "Latest news"
def items(self):
return Articles.objects.filter(published=True).order_by('-date')[:5]
def item_description(self, item):
return '<![CDATA[ <img src="http://example.com/image.jpeg" /> ]]>'
def item_title(self, item):
return item.title
def item_pubdate(self, item):
return item.date
def item_updateddate(self, item):
return item.update
def item_author_name(self, item):
return item.author
def item_author_link(self, item):
item_author_link = Site_URL + reverse('team', kwargs={'username': item.author})
return item_author_link
def item_author_email(self):
return EMAIL_HOST_USER
class LatestEntriesFeedAtom(LatestEntriesFeed):
feed_type = Atom1Feed
subtitle = LatestEntriesFeed.description
所以我想我必须在描述 html 标签中使用 CDATA。但是,在 Django(版本 1.11)中,item_description 没有 return <description>
标记在 XML 中,而是一个 <summary>
标记。
没问题还是问题的根源?
否则,我尝试使用 W3C 验证程序进行扫描,但出现了 2 个错误(或只是警告?)
1) 自引用与文档位置不匹配
2) 无效 HTML:应为“--”或 'DOCTYPE'。未找到。 (出现 5 次)
我找到了解决方案。
我放弃了 CDATA 标签以遵循这种结构:
def item_description(self, item):
return '<figure><img src="http://example.com/image.jpeg" class="type:primaryImage" /><figcaption><p>My Image description</p></figcaption></figure><p>Some text</p>'
我得到了 Google 手册的帮助:https://support.google.com/news/publisher-center/answer/9545420?hl=fr
由于 Django 的文档,我正在尝试将图像附加到我的 ATOM 和 RSS 联合提要:https://docs.djangoproject.com/fr/1.11/ref/contrib/syndication/
我要喂食:http://example.com/rss and http://mywebsite.com/atom
rss.py
class LatestEntriesFeed(Feed):
title = "MyWebsite"
link = "/"
description = "Latest news"
def items(self):
return Articles.objects.filter(published=True).order_by('-date')[:5]
def item_description(self, item):
return '<![CDATA[ <img src="http://example.com/image.jpeg" /> ]]>'
def item_title(self, item):
return item.title
def item_pubdate(self, item):
return item.date
def item_updateddate(self, item):
return item.update
def item_author_name(self, item):
return item.author
def item_author_link(self, item):
item_author_link = Site_URL + reverse('team', kwargs={'username': item.author})
return item_author_link
def item_author_email(self):
return EMAIL_HOST_USER
class LatestEntriesFeedAtom(LatestEntriesFeed):
feed_type = Atom1Feed
subtitle = LatestEntriesFeed.description
所以我想我必须在描述 html 标签中使用 CDATA。但是,在 Django(版本 1.11)中,item_description 没有 return <description>
标记在 XML 中,而是一个 <summary>
标记。
没问题还是问题的根源?
否则,我尝试使用 W3C 验证程序进行扫描,但出现了 2 个错误(或只是警告?)
1) 自引用与文档位置不匹配
2) 无效 HTML:应为“--”或 'DOCTYPE'。未找到。 (出现 5 次)
我找到了解决方案。 我放弃了 CDATA 标签以遵循这种结构:
def item_description(self, item):
return '<figure><img src="http://example.com/image.jpeg" class="type:primaryImage" /><figcaption><p>My Image description</p></figcaption></figure><p>Some text</p>'
我得到了 Google 手册的帮助:https://support.google.com/news/publisher-center/answer/9545420?hl=fr