簡體   English   中英

如何解決 Django 管理員中的“無法導入 django.contrib.syndication.views.feed”錯誤?

[英]How to resolve “Could not import django.contrib.syndication.views.feed” error in Django admin?

我已將我的 Django 版本更新為每晚的最新版本,我在管理員中收到以下錯誤;

Could not import django.contrib.syndication.views.feed.  
View does not exist in module django.contrib.syndication.views.

我在幾個視圖中也遇到了這個錯誤,因為實際上django.contrib.syndication.views.feed已被棄用並已被刪除。
我只需要添加一個

from django.contrib.syndication.views import Feed

from django.contrib.syndication.feeds import Feed

問題是我在任何地方都找不到對django.contrib.syndication.views.feed的任何引用,甚至在 Django 源代碼中也找不到,所以我不明白錯誤來自哪里以及如何解決它。

錯誤的直接來源是

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/urlresolvers.py in get_callable, line 100

但我在那里也找不到任何東西。

希望有人能幫忙!

user643511建議錯誤可能在我自己的代碼中,而不是 Django。 但是她沒有指出真正的問題(我理解,因為我沒有提供正確的信息)。 經過幾天的挖掘,我發現我有

url(r'^feeds/(?P<url>.*)/$', 'django.contrib.syndication.views.feed', {'feed_dict': feeds}),

urls.py中。 相反,我不得不使用

url(r'^feeds/(?P<url>.*)/$', 'django.contrib.syndication.views.Feed', {'feed_dict': feeds}),

注意views.Feed中的大寫F。

因此,如果有人遇到類似問題,請檢查 urls.py。

也許你的代碼有問題,我做了一些測試,高級提要生成框架工作正常。 您只需使用飼料 class

django.contrib.syndication.views.Feed

這是一個簡單的例子:在你的模型中


# -*- coding: utf8 -*-
from django.utils.translation import ugettext as _
from django.contrib.syndication.views import Feed
from django.db import models

class Concept(models.Model):
    concept = models.IntegerField(unique=True, primary_key=True, verbose_name=_('Concepto'))
    description = models.CharField(max_length=255, verbose_name=_('Descripcion'))

    def __unicode__(self):
        return "%s" % ( self.description or self.concept )

    class Meta:
        verbose_name = _('Concepto')
        verbose_name_plural = _('Conceptos')
        ordering = ['concept']

class LatestEntriesFeed(Feed):
    title = "My site news"
    link = "/sitenews/"
    description = "Updates on changes and additions."

    def items(self):
        return Concept.objects.all()

    def item_code(self, item):
        return item.code

    def item_description(self, item):
        return item.description

在您的 url 中:


from models import LatestEntriesFeed

urlpatterns = patterns('',
    (r'^latest/feed/$', LatestEntriesFeed()),    
)

結果:

我的網站新聞http://example.com/sitenews/Updates on changes and addeds.es-esTue, 12 Jul 2011 08:18:49 -0000

我希望有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM