首页 文章

Django RSS Feed - Slug未注册

提问于
浏览
0

我正在尝试 Build 一个非常简单的RSS Feed . 我按照文档,阅读博客文章,搜索此网站的类似问题等,但我仍然卡住...

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

但是当我去/ feed / events /我得到一个

Slug u'events' isn't registered.

This blogpost进一步深入了解文档,并建议供稿词典不是't synced with my url but I can'吨看到问题?

然后另一件可能是问题的是slu ??我已经读过一个slu is,但是我需要做什么呢?我需要在我的模型中放一些东西,比如get_absolute_url()吗?

如果它是一个明显的错误,但我是框架的新手和一般的编程 . 谢谢

1 回答

  • 2

    为您的类事件提供get_absotule_url方法 . 这样可以省去Feed视图中链接的麻烦 . 尝试设置你的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}), 它将拦截对第二行的调用并抛出错误 . 我希望这有帮助 .

相关问题