2012-04-11 1 views
0

저는 이것이 멍청한 요청이라면 멍청하니, 실례합니다. 웹 사이트의 각 범주에 대해 사용자 지정 RSS 피드를 만들려고하지만 요청 된 피드를 제대로 빌드하기 위해 매개 변수 (범주 슬러그)를 전달할 수 없습니다. 중계국이 같은 주소에 위치해야합니다 : 여기 http://www.website.com/category-name/feed사용자 정의 Django RSS가 작동하지 않습니다.

것은 내가 가진 무엇 : urls.py에서

: feeds.py에서

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

:

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] 

내가 얻는 오류 : "_ 초기화 _()에 예기치 않은 키워드 인수가 있는데 'category_slug'"추적 표시가 도움이되지 않으며 일부 ba 만 표시됩니다. se 파이썬 물건. 감사합니다. 다큐먼트에서

답변

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

이 좋아,하지만 이렇게하면, 그때 얻을 : 이 –

+0

아, 당신도되지 않는 피드를 사용하는 "__init __()가 정확히 3 개 인자를 (1 주어진) 소요" 수업. 'django.contrib.syndication.views에서 가져 오기 피드'django.contrib.syndication.feeds에서 가져 오기 피드' –

+0

대단히 고맙습니다. 덕분에 많은 도움이되었습니다. –

관련 문제