在 Django 中创建 RSS Feed 的问题
Issue with creating RSS Feed in Django
我必须创建一个 Web 应用程序来显示与服务器相关的事件,以便进行即将到来的采访。我必须包含与服务器相关的所有事件的 RSS Feed。我决定在 Django 中实现它。
我已按照有关创建 Feed 的 Django 教程进行操作并查看了教程要点教程,但我遇到了以下错误。
不存在于 /server_status/latest/feed/
事件匹配查询不存在。
这是我的 Feeds.py:
from django.contrib.syndication.views import Feed
from server_status.models import Event
from django.core.urlresolvers import reverse
class LatestEvents(Feed):
title="List of All Active and Scheduled Events"
link="/event/"
description="This RSS feed contains a list of all active and scheduled events."
def items(self):
return Event.objects.order_by('-date_active')
def item_title(self, item):
return Event.objects.get(event_title='event-title')
def item_description(self, item):
return Event.objects.get(event_description='event_descrption')
def item_link(self, item):
return reverse('event', args=[Event.pk])
这是局部变量抛出的错误:
H:\interview\server_status\feeds.py in item_title
return Event.objects.get(event_title='event-title') ...
▼ Local vars
Variable Value
item <Event: Server down for routine maintenance>
self <server_status.feeds.LatestEvents object at 0x03563230>
我自己添加的事件对象确实存在于数据库中。如果有任何不同,我通过管理站点添加了它。
如果我的模型有问题,这是正在访问的模型:
class Event(models.Model):
event_status=models.ForeignKey(Status)
event_title=models.CharField(max_length=50)
event_description=models.CharField(max_length=500)
date_active=models.DateField(default=timezone.now())
time_active=models.TimeField(default=timezone.now())
def __str__(self):
return self.event_title
我认为您误解了这些方法的用途。他们采用 Event
的实例,并且应该 return 代表 object 的标题和描述的字符串。您可能需要以下内容:
class LatestEvents(Feed):
def item_title(self, item):
return item.event_title
def item_description(self, item):
return item.event_description
def item_link(self, item):
return reverse('event', args=[item.pk])
您不应在这些方法中的任何地方使用 Event
class 本身(items()
除外)。
我必须创建一个 Web 应用程序来显示与服务器相关的事件,以便进行即将到来的采访。我必须包含与服务器相关的所有事件的 RSS Feed。我决定在 Django 中实现它。
我已按照有关创建 Feed 的 Django 教程进行操作并查看了教程要点教程,但我遇到了以下错误。
不存在于 /server_status/latest/feed/ 事件匹配查询不存在。
这是我的 Feeds.py:
from django.contrib.syndication.views import Feed
from server_status.models import Event
from django.core.urlresolvers import reverse
class LatestEvents(Feed):
title="List of All Active and Scheduled Events"
link="/event/"
description="This RSS feed contains a list of all active and scheduled events."
def items(self):
return Event.objects.order_by('-date_active')
def item_title(self, item):
return Event.objects.get(event_title='event-title')
def item_description(self, item):
return Event.objects.get(event_description='event_descrption')
def item_link(self, item):
return reverse('event', args=[Event.pk])
这是局部变量抛出的错误:
H:\interview\server_status\feeds.py in item_title
return Event.objects.get(event_title='event-title') ...
▼ Local vars
Variable Value
item <Event: Server down for routine maintenance>
self <server_status.feeds.LatestEvents object at 0x03563230>
我自己添加的事件对象确实存在于数据库中。如果有任何不同,我通过管理站点添加了它。
如果我的模型有问题,这是正在访问的模型:
class Event(models.Model):
event_status=models.ForeignKey(Status)
event_title=models.CharField(max_length=50)
event_description=models.CharField(max_length=500)
date_active=models.DateField(default=timezone.now())
time_active=models.TimeField(default=timezone.now())
def __str__(self):
return self.event_title
我认为您误解了这些方法的用途。他们采用 Event
的实例,并且应该 return 代表 object 的标题和描述的字符串。您可能需要以下内容:
class LatestEvents(Feed):
def item_title(self, item):
return item.event_title
def item_description(self, item):
return item.event_description
def item_link(self, item):
return reverse('event', args=[item.pk])
您不应在这些方法中的任何地方使用 Event
class 本身(items()
除外)。