当前位置:  开发笔记 > 编程语言 > 正文

Django-在rss feed中指定通道图像的方式

如何解决《Django-在rssfeed中指定通道图像的方式》经验,为你挑选了2个好方法。

什么是在rss feed中指定频道图像的"django-way"?我可以通过滚动我自己的xml手动完成它,但是正在寻找一种正确的方法.

编辑 dobrych的解决方案在这里不太适用,因为我特地询问了RSS而不是Atom提要



1> Sergey Golov..:

找到了正确的方法.正如文档所描述的那样,我需要通过Rss201rev2Feed的子类和重写方法来创建自定义Feed生成器.

add_root_elements()

像这样:

class RssFooFeedGenerator(Rss201rev2Feed):
    def add_root_elements(self, handler):
        super(RssFooFeedGenerator, self).add_root_elements(handler)
        handler.addQuickElement(u"image", '',
            {
                 'url': u"http://www.example.com/images/logo.jpg",
                 'title': u"Some title",
                 'link': u"http://www.example.com/", 
             })     

class RssFooFeed(Feed):
    feed_type = RssFooFeedGenerator
    title = u"Foo items"
    link = u"http://www.example.com/"
    description = u"Some description"



2> 小智..:

对于有效的RSS 2.0,你应该使用这个:

class ImageRssFeedGenerator(Rss201rev2Feed):
    def add_root_elements(self, handler):
        super(ImageRssFeedGenerator, self).add_root_elements(handler)
        handler.startElement(u'image', {})
        handler.addQuickElement(u"url", self.feed['image_url'])
        handler.addQuickElement(u"title", self.feed['title'])
        handler.addQuickElement(u"link", self.feed['link'])
        handler.endElement(u'image')

class LastPublishedPromiseFeed(Feed):
    link = 'http://www.example.com'
    feed_type = ImageRssFeedGenerator

    def feed_extra_kwargs(self, obj):
        return {'image_url': self.link + '/image.jpg'}

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有