Django RSS Feed - Слаг не зарегистрирован - PullRequest
0 голосов
/ 01 марта 2012

Я пытаюсь настроить очень простой канал RSS.Я следил за документами, читал сообщения в блогах, искал на этом сайте похожие вопросы и т. Д., Но я все еще застрял ...

В Model.py

class Events(models.Model):
  title = models.CharField(max_length=50)
  date = models.DateField(max_length=10)

  def __unicode__(self):
      return self.title

В feeds.py

class UpcomingEventsFeed(Feed):
  title = "Upcoming events for ChristChurch School"
  link = "/"
  description = "Information taken from the ChristChurch school website"

  def items(self):
    return Events.objects.order_by('-date')[:10]

urls.py

feeds = {
  'events': UpcomingEventsFeed,
  }

url.py

(r'^feeds/(?P<url>.*)/$', 'django.contrib.syndication.views.feed', {'feed_dict': feeds}),
(r'^feeds/events/$', UpcomingEventsFeed()),

Но когда я захожу в / feeds / events / я получаю

Slug u'events' isn't registered.

Этот пост блога углубляется в документацию и предполагает, что словарь каналов не синхронизирован с моим URL, но я не вижу проблемы?

ТогдаДругая вещь, которая может быть проблемой, это слизняк?Я читал, что такое слизняк, но что мне с ним делать?Нужно ли помещать что-то в мою модель, например, get_absolute_url ()?

Извинения, если это явная ошибка, но я новичок в фреймворке и в целом программирую.Спасибо

1 Ответ

2 голосов
/ 01 марта 2012

Дайте вашему классу Events метод get_absotule_url. Это избавит вас от проблем с ссылками в представлении ленты. Попробуйте настроить ваш urls.py так:

from your.path.to.feed import UpcomingEventsFeed
#...
(r'^feeds/events/$', UpcomingEventsFeed()),
#...

Не используйте эту строку: (r'^feeds/(?P<url>.*)/$', 'django.contrib.syndication.views.feed', {'feed_dict': feeds}), она перехватит вызов на вторую строку и выдаст ошибку. Надеюсь, это поможет.

...