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, }

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...