[英]how do I pass context variables which use request in Class-based views in django?
[英]Django syndication framework: How do I use the new class-based feed views?
Django 1.2对联合框架进行了一些更改。 根据这个 ,我现在应该可以这样做:
from django.conf.urls.defaults import *
from myproject.feeds import LatestEntries, LatestEntriesByCategory
urlpatterns = patterns('',
# ...
(r'^feeds/latest/$', LatestEntries()),
(r'^feeds/categories/(?P<category_id>\d+)/$', LatestEntriesByCategory()),
)
但是,当我尝试按照这些原则进行任何操作时,都会收到错误消息:
init ()正好接受3个参数(给定1个)
谁能给我一个可行的例子? 也许有人知道此错误与什么有关?
上面的示例实际上来自Django Advent链接。 我已经尝试了多种方法,但它们都喷出了相同的错误。 但是一个简单的无效示例将是:
urls.py
urlpatterns = patterns('',
url(r'^feeds/comments/$', LatestCommentsFeed()),
)
feeds.py
class LatestCommentsFeed(Feed):
description = "Latest comments left at %s" % current_site.name
feed_type = Atom1Feed
link = "/feeds/comments/"
title = "%s: Latest comments" % current_site.name
def items(self):
return Comment.objects.filter(is_public=True).order_by('-submit_date')[:50]
def item_pubdate(self,item):
return item.submit_date
def item_guid(self,item):
return "tag:%s,%s:%s" % (current_site.domain,
item.submit_date.strftime('%Y-%m-%d'),
item.get_absolute_url())
好的,找到了罪魁祸首! :)在feeds.py中,我有:
from django.contrib.syndication.feeds import Feed
我应该有:
from django.contrib.syndication.views import Feed
显然,django.contrib.syndication.feeds模块仅用于向后兼容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.