Djangoシンジケーションフレームワーク:新しいクラスベースのフィードビューを使用するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/3174556

質問

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()),
)

しかし、それらの線に沿って何かをしようとすると、エラーが発生します。

初期化()正確に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())
役に立ちましたか?

解決

OK、犯人を見つけました! :)私のfeeds.pyで私が持っていた:

from django.contrib.syndication.feeds import Feed

そして、私は持っていたはずです:

from django.contrib.syndication.views import Feed

django.contrib.syndication.feedsモジュールは、明らかに後方互換性のためだけにあります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top