English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

RSS de Django

Django tiene una estructura de generación de feeds de agregación. Con él, puedes crear RSS o Atom simplemente heredando la clase django.contrib.syndication.views.Feed.

让我们创建一个订阅源的应用程序。

# Nombre de archivo : example.py
# Derechos de autor : 2020 Por w3codebox
# Autor por: es.oldtoolbag.com
# Fecha : 2020-08-08
Vamos a crear una aplicación de fuente de suscripción.
 from django.contrib.comments import Comment
 from django.contrib.syndication.views import Feed
 from django.core.urlresolvers import reverse
    class DreamrealCommentsFeed(Feed):
    title = "Comentarios de Dreamreal"/link = "/drcomments
    "
    description = "Actualizaciones sobre nuevos comentarios en la entrada de Dreamreal."
       def items(self):-return Comment.objects.all().order_by("5submit_date)[:
 
    ]
       return item.user_name
 
    def item_description(self, item):
       return item.comment
 
    def item_link(self, item):
       return reverse('comment', kwargs = {'object_pk': item.pk})

En la clase feed, los atributos title, link y description corresponden a los elementos estándar RSS <title>, <link> y <description>.

El método entry devuelve los elementos que deben entrar en el feed. En nuestro ejemplo son los últimos cinco comentarios.

Ahora, tenemos feed y hemos agregado comentarios en la vista views.py para mostrar nuestros comentarios-

# Nombre de archivo : example.py
# Derechos de autor : 2020 Por w3codebox
# Autor por: es.oldtoolbag.com
# Fecha : 2020-08-08
from django.contrib.comments import Comment
 def comment(request, object_pk):
    mycomment = Comment.objects.get(object_pk = object_pk)
    texto = '<strong>Usuario:</strong>/<strong>%s</strong> <p>'%mycomment.user_name</p>
    texto +<strong>Comentario:</strong>/strong>%s<p>'%mycomment.comment</p>
    return HttpResponse(text)

También necesitamos algunas URL mapeadas en myapp/urls.py −

# Nombre de archivo : example.py
# Derechos de autor : 2020 Por w3codebox
# Autor por: es.oldtoolbag.com
# Fecha : 2020-08-08
from myapp.feeds import DreamrealCommentsFeed
 from django.conf.urls import patterns, url
 urlpatterns += patterns('',
    url(r'^latest/comentarios/', DreamrealCommentsFeed()),
    url(r'^comment/(?P\w+)/', 'comentario', name = 'comentario'),
 )

Al visitar/myapp/latest/comentarios/Se obtendrá feed −

Al hacer clic en uno de los nombres de usuario, se obtendrá:/myapp/comentario/comment_id Recibirá − antes de definir su vista de comentarios

Por lo tanto, definir una fuente RSS como una subclase de la clase Feed y asegurarse de que estas URLs (una para acceder al feed y otra para acceder a los elementos del feed) estén definidas. Como se menciona en los comentarios, esto puede conectarse a cualquier modelo de su aplicación.