- Django基础
- Django开发环境安装配置
- Django创建工程
- Django生命周期
- Django管理员界面
- Django创建视图
- Django URL映射
- Django模板系统
- Django模型
- Django页面重定向
- Django发送E-mail
- Django通用视图
- Django表单处理
- Django上传文件
- Django Apache配置
- Django Cookies处理
- Django Session会话
- Django缓存
- Django RSS
- Django Ajax应用
- Django快速入门
- Django快速入门-数据库模型
- Django快速入门-视图
- Django快速入门-表单
Django RSS
让我们创建一个订阅源的应用程序。
from django.contrib.syndication.views import Feed from django.contrib.comments import Comment from django.core.urlresolvers import reverse class DreamrealCommentsFeed(Feed): title = "Dreamreal's comments" link = "/drcomments/" description = "Updates on new comments on Dreamreal entry." def items(self): return Comment.objects.all().order_by("-submit_date")[:5] def item_title(self, item): return item.user_name def item_description(self, item): return item.comment def item_link(self, item): return reverse('comment', kwargs = {'object_pk':item.pk})
-
在feed类, title, link 和 description 属性对应标准RSS 的<title>, <link> 和 <description>元素。
-
条目方法返回应该进入feed的item的元素。在我们的示例中是最后五个注释。
现在,我们有feed,并添加评论在视图views.py,以显示我们的评论−
from django.contrib.comments import Comment def comment(request, object_pk): mycomment = Comment.objects.get(object_pk = object_pk) text = '<strong>User :</strong> %s <p>'%mycomment.user_name</p> text += '<strong>Comment :</strong> %s <p>'%mycomment.comment</p> return HttpResponse(text)
我们还需要一些网址在myapp urls.py中映射 −
from myapp.feeds import DreamrealCommentsFeed from django.conf.urls import patterns, url urlpatterns += patterns('', url(r'^latest/comments/', DreamrealCommentsFeed()), url(r'^comment/(?P\w+)/', 'comment', name = 'comment'), )
当访问/myapp/latest/comments/会得到 feed −
当点击其中的一个用户名都会得到:/myapp/comment/comment_id 在您的评论视图定义之前,会得到 −
因此,定义一个RSS源是 Feed 类的子类,并确保这些URL(一个用于访问feed,一个用于访问feed元素)的定义。 正如评论,这可以连接到您的应用程序的任何模型。
上一篇:Django缓存
下一篇:Django Ajax应用
扫描二维码
程序员编程王