感谢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/
分享到:
相关推荐
你还可以考虑使用缓存机制来提高性能,避免每次请求时都重新生成整个feed。 通过上述步骤,你的Django博客就成功启用了RSS功能,为读者提供了一种便捷的订阅方式,增强了用户体验。记得保持RSS feed的更新,以便...
7. **RSS订阅**:Zinnia自动为每个文章生成RSS订阅链接,方便读者通过RSS阅读器获取更新内容。 8. **SEO优化**:Zinnia考虑到了搜索引擎优化(SEO),提供元标签配置,如title、description和keywords,以提高博客...
该项目说明了Django基于类的视图,如何将django模型与自定义模型管理器一起使用,如何使用自定义模板标签,django表单和模型表单,如何使用django发送邮件,如何添加rss联合以及生成站点地图和单元测试用于模型,...
如何在Django中生成和输出非HTML内容,例如RSS订阅源、CSV文件或其他格式的数据。 12. 会话、用户和注册: 用户认证系统的设计和实现,包括如何管理用户会话、用户注册、登录和注销。 13. 缓存机制: 缓存的...
Django是一个高级的Python Web框架,它鼓励快速开发、干净简洁的设计,并内置了许多功能强大的特性,如自动管理的行政后端、用户认证、RSS聚合等。 ### Django框架简介 Django是由Adrian Holovaty和Simon Willison...
5. **模型**:这一章详细介绍了Django ORM(对象关系映射)的概念和使用方法,包括模型类的设计、字段类型的选择、数据库查询API等内容。通过学习模型,开发者可以更加灵活地管理数据库。 6. **Admin**:Django内置...
与CGI相比,Django拥有许多内置组件和抽象层,可以处理包括用户认证、内容管理、RSS源、地理标签处理等多种复杂的任务。Django还支持RESTful架构,使得API的开发变得轻而易举。 从上述内容中,我们可以提炼出Django...
《Django 1.0 Web Site》是一本非常适合初学者入门 Django 的书籍,它通过构建一个具体的书签共享应用,循序渐进地介绍了 Django 的基本概念和使用方法。书中不仅提供了详细的代码示例,还涵盖了 Web 2.0 应用的关键...
- **第10章:高级Django主题**:涉及AJAX、RSS订阅等高级功能的实现。 6. **客户端高级主题**: - **第11章:MochiKit——Python风格的JavaScript编程**:介绍MochiKit库,使开发者能够使用类似于Python的语法...
2. Django框架的Feeds应用:Django提供内置的feeds应用,方便快速构建RSS Feed生成器。 3. Flask-RSS扩展:Flask微框架也有Flask-RSS这样的扩展,用于简化RSS Feed的创建。 4. 前端展示:使用JavaScript库如Feed....
它们介绍了 Django 是如何工作,如何被使用的。不过,你得先对关键字的概念有一定理解。 操作指南 是一份目录。它们以排列好的关键问题和用例的方式指导你。它们比教程更加深入,且需要你先了解一些关于 Django 是...
11. 性能优化:随着网站规模的增长,可能需要考虑缓存策略,如使用Django的缓存框架或第三方库如Redis,来缓存热门新闻或减轻数据库压力。 12. 部署与扩展:最后,完成开发后,我们需要将Django项目部署到服务器上...
比如标签云生成功能、RSS订阅功能等。 这些功能的加入,使网络书签系统的开发变得更为复杂。为了 减轻开发人员的负担。加快开发的速度。可以采用目前非常流 行的基于框架的软件开发技术。以连载形式详细讲解了在 ...
- **概述**:列举了一些Django官方支持的子框架,如RSS feeds、sitemaps等,并介绍了它们的使用方法。 - **完成度**:100% #### 第十五章:中间件 - **概述**:详细讲解了Django中间件的概念和用途,以及如何编写...
这个管理界面完全由Django自动生成,开发者只需要定义好数据模型即可。 #### 安全性 Django非常重视安全性,提供了多种机制防止常见的Web攻击,如SQL注入、跨站脚本(XSS)、跨站请求伪造(CSRF)等。Django的安全特性...