ich habe hier ein Tutorial veröffentlicht, wie man sich einen RSS Feed erstellt: http://t.co/chQmVwKU.
Damit man das ganze auch einfacher hier hat, habe ich es nochmal kopiert:
Viele Django-Entwickler stehen irgendwann vor dem Problem, einen Feed generieren zu lassen. Um nun anstatt eines anderen Tools oder gar einer manuellen Erstellung entgegenzuwirken hat Django einen eingebauten Generator.
Verfügbar unter django.contrib.syndication
Um nun einen Feed auf Beispielweise eine Artikelapp anzuwenden sind einige Handgriffe notwendig.
Als erstes sollte man die Datei “feeds.py” im Root-Verzeichnis des Django-Projektes anlegen. In dieser Datei definieren wir später die gewünschten Feeds.
Zum zweiten benötigen wir eine Änderung der URLConf im Root-Verzeichnis. Sie sollte so aussehen:
Code: Alles auswählen
# Django Anweisung zum Laden der Standard-URL-Librarys
from blog.feeds import ArticleFeed # blog ist hier der Name des Projektes
feeds = {
"articles": ArticleFeed,
}
urlpatterns = patterns('',
# bla bla bla
#Feeds
(r'^feeds/(?P.*/$', 'django.contrib.syndication.views.feed', {'feed_dict': feeds}),
)
Jetzt folgt die Änderung des Models:
Code: Alles auswählen
from django.db import models
class Artikel(models.Model):
title = models.CharField(max_length=300
pub_date = models.DateTimeField('Date')
def __unicode__(self):
return self.title
# Hier kommt die Änderung:
def get_absolute_url(self):
return "/article/%i/" % self.id
Jetzt kommt der Feed:
Code: Alles auswählen
from django.contrib.syndication.views import Feed
from artikel.models import Artikel
class ArticleFeed(Feed):
title = "Name des Feeds"
link = "/artikel/" # Link zu einer Übersicht aller Artikel, sollte gesetzt werden - Kann auch Link zur Homepage sein
description = "Beschreibung des Feeds"
def items(self):
return Artikel.objects.order_by('-pub_date')
def item_link(self, item):
return item.get_absolute_url() # Hier wird auf die im Model definierte Methode verwiesen.