Форум сайта python.su
В проекте необходимо отдавать пользователю личную RSS (само-собой другие пользователи не должны иметь доступа к ней), но я не знаю как лучше это сделать.
Была идея завязать на каждого пользователя passkey, т.е. ссылка на персональную ленту была бы:
url(r'^rss/(?P<username>\w+)/(?P<passkey>\w+)/$', personal_rss, name='personal_rss'),
#views.py
def personal_rss(requst, username, passkey):
#Проверка пасскея и получение юзера
return PersonalFeed(user)
#feeds.py
class PersonalFeed(Feed):
title = "Test RSS"
link = "/my_page/"
description = "My notifications"
user = None
def __init__(self, user, *args, **kwargs):
super(Feed, self).__init__(*args, **kwargs)
self.user = user
#Формирование рсс учитывая self.user
Traceback (most recent call last):
File "/usr/local/lib/python2.6/dist-packages/django/core/servers/basehttp.py", line 280, in run
self.result = application(self.environ, self.start_response)
File "/usr/local/lib/python2.6/dist-packages/django/core/servers/basehttp.py", line 674, in __call__
return self.application(environ, start_response)
File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/wsgi.py", line 245, in __call__
response = middleware_method(request, response)
File "/usr/local/lib/python2.6/dist-packages/django/middleware/common.py", line 84, in process_response
if response.status_code == 404:
AttributeError: 'PersonalFeed' object has no attribute 'status_code'
Отредактировано (Окт. 4, 2010 07:46:43)
Офлайн
Если я правильно понял, Вам нужно отдавать специальный rss для пользователя. Для этого есть все готовое - http://docs.djangoproject.com/en/dev/ref/contrib/syndication/#a-complex-example
Смысл в том, что если определить у класса фида метод get_object то этому методу будут переданы параметры из URLConf. А результат get_object будет передан в функцию items, где его собсно и можно использовать для фильтрации нужным Вам способом.
Офлайн
Спасибо, то что надо!
И да, таки надо доки читать дальше первых пунктов…
Офлайн