我必須創建一個Web應用程序,它顯示即將到來的面試中與服務器相關的事件。我必須包含與服務器相關的所有事件的RSS源。我決定在Django中實現它。在Django中創建RSS源的問題
我已經按照Django教程創建了一個Feed,並看了一下教程點教程,但是我出現了以下錯誤。
DoesNotExist at/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
你的'item_title'和'item_description'方法中的邏輯沒有意義。這些方法應該返回傳遞給函數的'item'對象的標題/描述。你爲什麼試圖在那裏獲取一個新對象?這些函數應該返回一個字符串,而不是'Entry'對象。 – solarissmoke
@solarissmoke所以你建議不要讓對象返回標題和描述的字符串表示形式? – cmackie21
你已經擁有該函數中的一個對象。請參閱下面的答案。 – solarissmoke