2011-07-10 15 views
5

Djangoの最新バージョンを夜間に更新しました。管理者に次のエラーが表示されます。Django管理者の「django.contrib.syndication.views.feedをインポートできませんでした」というエラーを解決するにはどうすればよいですか?

 
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のソースに、どこでもdjango.contrib.syndication.views.feedへの参照を見つけることができないということで追加する必要がありましたので、私は理解していませんエラーの原因と解決方法

エラーの直接のソースは

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

ですが、私はどちらかそこに何かを見つけることができません。

誰かがお手伝いできます!

+0

私は、テンプレートの{%comment_form_target%}を使用する際に、問題の原因が少なくとも部分的であることを発見しました。おそらく、フォームがどこを指し示すべきか、フィードを途中でインポートすることについて、おそらく動的な推測があります。 –

答えて

11

user643511エラーはDjangoではなく自分のコードである可能性があります。しかし、彼女は本当の問題を指摘しなかった(私は正しい情報を提供しなかったので、私はそれを理解している)。だけ掘りの日後、私はurls.py

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

を持っていたことが分かりました。代わりに、私は使用しなければならなかった

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

大文字のFはviews.Feedに注意してください。

誰もが同様の問題を抱えている場合は、urls.pyをチェックしてください。

7

あなたのコードに何か問題があるかもしれませんが、私はいくつかのテストを行い、高水準のフィード生成フレームワークはうまく動作します。あなたは、これは単純な例である

 
django.contrib.syndication.views.Feed 

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()),  
) 

結果:

を 私のサイトnewshttp://example.com/sitenews/Updates on changes and addit ions.es-esTue、12 Jul 2011 08:18:49 -0000

私はその助けを願っています。

+0

応答に感謝しますが、それはまったく役に立ちません。私が言っているように、間違った名前空間からフィードをインポートする私のシステム全体でファイルを見つけることができないので、エラーが本当にどこで発生しているのかわからないという問題があります。あなたのソースを見ると、あなたがDjangoの最新バージョンを実行していないことは明らかです。そうでなければ、インポートによって問題が発生します。 from django.contrib.syndication.views importフィードは推奨されていません。 –

+1

申し訳ありませんが、あなたはやや右だったことが判明しました。エラーは私自身のコードにありました。私は、django.contrib.syndication.views.Feedの代わりに私のURLにdjango.contrib.syndication.views.feedへの参照がありました(神は詳細です)。私は、将来通過する人のために自分の答えを提出します。 –

関連する問題