如何解决Django RSS媒体内容解析
请帮助。我正在尝试在Django中建立一个基于rss的feed。但是我发现media:content(URL,介质,高度和宽度)很棘手。
我看了看,最后看到了:
class CustomFeed(Rss201rev2Feed):
def add_item_elements(self,handler,item):
super().add_item_elements(handler,item)
handler.addQuickElement("image",item["image"])
class Rss(Feed):
feed_type = CustomFeed
title = "#Title of the item"
link = "/feeds/"
description = "#Description of the item"
def item_extra_kwargs(self,item):
img_url = item.image.medium.url
request_url = self.request.build_absolute_uri('/')[:-1]
image_url_abs = f"{request_url}{img_url}"
return {
'image': image_url_abs
}
但是,这使我的图片在rss feed中是独立的:
<image>https://www.url.com/image.jpg</image>
我非常需要代码来返回此代码:
<media:content url="https://www.url.com/image.jpg" medium="image" height="640" width="362"/>
请帮助。
解决方法
CustomFeed(Rss201rev2Feed)类: def root_attributes(self): attrs =超级(CustomFeed,self).root_attributes() #attrs ['xmlns:dc'] =“ http://purl.org/dc/elements/1.1/” attrs ['xmlns:media'] ='http://search.yahoo.com/mrss/' 返回属性
def add_root_elements(self,handler):
super(CustomFeed,self).add_root_elements(handler)
thumbnail = dict(url=self.feed['image_url'])
thumbnail['medium'] = str(self.feed['medium'])
thumbnail['height'] = str(self.feed['height'])
thumbnail['width'] = str(self.feed['width'])
handler.addQuickElement('media:content','',thumbnail)
,
Rss类(Feed):
link = 'http://www.example.com'
feed_type = CustomFeed
title = 'LatestItems'
description = 'Latest Items'
def feed_extra_kwargs(self,obj): 返回{ 'image_url':self.link +'/image.jpg', '身高':433, 'medium':'image', '宽度':500, }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。