0

私は初心者なので、これがばかげた要求である場合はご容赦ください。Web サイトのカテゴリごとにカスタム RSS フィードを作成しようとしていますが、要求されたフィードを適切に作成するためにパラメータ (カテゴリ スラッグ) を渡すことができません。RSS は次のようなアドレスにあります: http://www.website.com/category-name/feed

ここに私が持っているものがあります:

urls.py で:

from project.feeds import FeedForCategory
urlpatterns = patterns('category.views',
 #...
 url(r'^(?P<category_slug>[a-zA-Z0-9\-]+)/feed/?$', FeedForCategory),
)

feeds.py で:

from django.contrib.syndication.feeds import Feed

class FeedForCategory(Feed):

  def get_object(self, request, category_slug):
    return get_object_or_404(Category, slug_name=category_slug)

  def title(self, obj):
    return "website.com - latest stuff"

  def link(self, obj):
    return "/articles/"

  def description(self, obj):
    return "The latest stuff from Website.com"

  def get_absolute_url(self, obj):
    return settings.SITE_ADDRESS + "/articles/%s/" % obj.slug_name

  def items(self, obj):
    return Article.objects.filter(category=category_slug)[:10]

私が得るエラーは次のとおりです。ありがとうございました。

4

1 に答える 1

1

ドキュメントから: https://docs.djangoproject.com/en/dev/ref/contrib/syndication/

フィード オブジェクトのインスタンスを URL パターンに渡す必要があります。したがって、urls.py で次のようにします。

from project.feeds import FeedForCategory
urlpatterns = patterns('category.views',
 #...
url(r'^(?P<category_slug>[a-zA-Z0-9\-]+)/feed/?$', FeedForCategory()),
)
于 2012-04-11T14:24:09.797 に答える