`
我想我是海
  • 浏览: 214419 次
社区版块
存档分类
最新评论

使用Django生成RSS

阅读更多

感谢Django强大的syndication feed framework,我可以很轻松地实现RSS的生成工作。Fallever的RSS可以从每个Blog的右下角找到。Django的官方文档见这里。文档中的第一个Example并不适合我,Fallever现在的情况是提供每个Blogger一个RSS文件,因此需要传参数,情况比较类似“A complex example”那一段。

使用Django的SFF来生成RSS太简单了。有下面几个步骤:

一、配置URLConf:

(r'^feeds/(?P<url>.*)/rss.xml$', 'django.contrib.syndication.views.feed', {'feed_dict': feeds})</url>

URL表达式中,url参数实际上允许很多个“/”存在。在Fallever中的用法是:/feeds/blog/{{shortcut}} /rss.xml.那么Django会把“feeds/”后面那一大截当作URL的参数传进去生成的机器(姑且这样叫吧),Shortcut是代表一个 Blog的简称。注意,"feeds/"作为RSS路径的开头是必须的。

二、写feeds。

你已经留意到了URLConf里面的第三个参数吧。feeds是一个字典,Key是Feed的类型,Value是处理该类型的类。Fallever的第一个字典是:

feeds = {'blog':recent_blog_entry}

这个字典说“feeds/”后面凡是跟着blog字样的路径全由recent_blog_entry这个类来处理。在blog后面跟着的参数从哪里可以找 回来呢,我一开始就有这样的问题,原来在这里:重写Feeds类的get_object(self, bits):bits参数就是把blog后面的参数切成了数组,如/feeds/blog/jeff/rss.xml切割后bits参数是: ['jeff','rss.xml']在这里我们只需要拿我们有用的元素就可以了。rss.xml这一节东西我是用来哄IE的。

三、在recent_blog_entry类里重写Feeds的几个方法:title,link,description,items,items_link。具体的在这里不说了,还有需要为这一次的Feed加上两个简单的模板。都去参考文档看吧 :)

原文出处:http://www.fallever.com/blog/jeff/8/
分享到:
评论

相关推荐

    开启Django博客的RSS功能的实现方法

    你还可以考虑使用缓存机制来提高性能,避免每次请求时都重新生成整个feed。 通过上述步骤,你的Django博客就成功启用了RSS功能,为读者提供了一种便捷的订阅方式,增强了用户体验。记得保持RSS feed的更新,以便...

    使用django-blog-zinnia搭建的个人博客网站。.zip

    7. **RSS订阅**:Zinnia自动为每个文章生成RSS订阅链接,方便读者通过RSS阅读器获取更新内容。 8. **SEO优化**:Zinnia考虑到了搜索引擎优化(SEO),提供元标签配置,如title、description和keywords,以提高博客...

    DjangoBlog:Django博客是一个对初学者友好的博客应用程序。 该项目说明了Django基于类的视图,如何将django模型与自定义模型管理器一起使用,如何使用自定义模板标签,django表单和模型表单,如何使用django发送邮件,如何添加rss联合以及生成站点地图和单元测试用于模型,视图,表单和模板标签

    该项目说明了Django基于类的视图,如何将django模型与自定义模型管理器一起使用,如何使用自定义模板标签,django表单和模型表单,如何使用django发送邮件,如何添加rss联合以及生成站点地图和单元测试用于模型,...

    中文版django book

    如何在Django中生成和输出非HTML内容,例如RSS订阅源、CSV文件或其他格式的数据。 12. 会话、用户和注册: 用户认证系统的设计和实现,包括如何管理用户会话、用户注册、登录和注销。 13. 缓存机制: 缓存的...

    django教程

    Django是一个高级的Python Web框架,它鼓励快速开发、干净简洁的设计,并内置了许多功能强大的特性,如自动管理的行政后端、用户认证、RSS聚合等。 ### Django框架简介 Django是由Adrian Holovaty和Simon Willison...

    Django book中文

    5. **模型**:这一章详细介绍了Django ORM(对象关系映射)的概念和使用方法,包括模型类的设计、字段类型的选择、数据库查询API等内容。通过学习模型,开发者可以更加灵活地管理数据库。 6. **Admin**:Django内置...

    django2教程

    与CGI相比,Django拥有许多内置组件和抽象层,可以处理包括用户认证、内容管理、RSS源、地理标签处理等多种复杂的任务。Django还支持RESTful架构,使得API的开发变得轻而易举。 从上述内容中,我们可以提炼出Django...

    Django 1.0 Web Site

    《Django 1.0 Web Site》是一本非常适合初学者入门 Django 的书籍,它通过构建一个具体的书签共享应用,循序渐进地介绍了 Django 的基本概念和使用方法。书中不仅提供了详细的代码示例,还涵盖了 Web 2.0 应用的关键...

    Python Frameworks Web 2.0 Programming with Django and TurboGears

    - **第10章:高级Django主题**:涉及AJAX、RSS订阅等高级功能的实现。 6. **客户端高级主题**: - **第11章:MochiKit——Python风格的JavaScript编程**:介绍MochiKit库,使开发者能够使用类似于Python的语法...

    RSS模块实现(网站在线订阅)

    2. Django框架的Feeds应用:Django提供内置的feeds应用,方便快速构建RSS Feed生成器。 3. Flask-RSS扩展:Flask微框架也有Flask-RSS这样的扩展,用于简化RSS Feed的创建。 4. 前端展示:使用JavaScript库如Feed....

    django-docs-2.2-zh-hans.zip

    它们介绍了 Django 是如何工作,如何被使用的。不过,你得先对关键字的概念有一定理解。 操作指南 是一份目录。它们以排列好的关键问题和用例的方式指导你。它们比教程更加深入,且需要你先了解一些关于 Django 是...

    基于Django的新闻聚合网站

    11. 性能优化:随着网站规模的增长,可能需要考虑缓存策略,如使用Django的缓存框架或第三方库如Redis,来缓存热门新闻或减轻数据库压力。 12. 部署与扩展:最后,完成开发后,我们需要将Django项目部署到服务器上...

    基于Django快速开发社会化网络书签系统

    比如标签云生成功能、RSS订阅功能等。 这些功能的加入,使网络书签系统的开发变得更为复杂。为了 减轻开发人员的负担。加快开发的速度。可以采用目前非常流 行的基于框架的软件开发技术。以连载形式详细讲解了在 ...

    中文版django book.pdf"

    - **概述**:列举了一些Django官方支持的子框架,如RSS feeds、sitemaps等,并介绍了它们的使用方法。 - **完成度**:100% #### 第十五章:中间件 - **概述**:详细讲解了Django中间件的概念和用途,以及如何编写...

    Learning+Website+Development+With+Django.pdf

    这个管理界面完全由Django自动生成,开发者只需要定义好数据模型即可。 #### 安全性 Django非常重视安全性,提供了多种机制防止常见的Web攻击,如SQL注入、跨站脚本(XSS)、跨站请求伪造(CSRF)等。Django的安全特性...

Global site tag (gtag.js) - Google Analytics