Domanda

Django 1.2 ha portato in alcuni cambiamenti del quadro syndication. Secondo questo , mi dovrebbe ora essere in grado di fare qualcosa di simile:

from django.conf.urls.defaults import *
from myproject.feeds import LatestEntries, LatestEntriesByCategory

urlpatterns = patterns('',
    # ...
    (r'^feeds/latest/$', LatestEntries()),
    (r'^feeds/categories/(?P<category_id>\d+)/$', LatestEntriesByCategory()),
)

Ma quando provo a fare qualcosa in questo senso, ottengo un errore:

  

init () batte esattamente 3 argomenti (1 proposta)

qualcuno può darmi un esempio di lavoro? O forse qualcuno capisce che cosa questo errore si riferisce a?

Modifica # 1

L'esempio precedente è in realtà dal link Django Avvento. Ho provato una varietà di cose e tutti loro becco lo stesso errore. Ma un semplice esempio non funzionante potrebbe essere:

urls.py

urlpatterns = patterns('',
    url(r'^feeds/comments/$', LatestCommentsFeed()),
)

feeds.py

class LatestCommentsFeed(Feed):
    description = "Latest comments left at %s" % current_site.name
    feed_type = Atom1Feed
    link = "/feeds/comments/"
    title = "%s: Latest comments" % current_site.name

    def items(self):
        return Comment.objects.filter(is_public=True).order_by('-submit_date')[:50]

    def item_pubdate(self,item):
        return item.submit_date

    def item_guid(self,item):
        return "tag:%s,%s:%s" % (current_site.domain,
                                 item.submit_date.strftime('%Y-%m-%d'),
                                 item.get_absolute_url())
È stato utile?

Soluzione

Ok, trovato il colpevole! :) Nel mio feeds.py ho avuto:

from django.contrib.syndication.feeds import Feed

E ho dovuto avere:

from django.contrib.syndication.views import Feed

Il modulo django.contrib.syndication.feeds è lì solo per la compatibilità all'indietro a quanto pare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top