繁体   English   中英

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个)

谁能给我一个可行的例子? 也许有人知道此错误与什么有关?

编辑#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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM