4

私はブログ アプリケーションに取り組んでおり、単純な RSS フィード システム機能を作成しようとしています。しかし、私にはあまり意味のない奇妙なバグが発生しています。何が起こっているのかは理解できますが、その理由はわかりません。私の RSS フィード クラスは以下のとおりです。

class RSSFeed(Feed):
    title = settings.BLOG_NAME
    description = "Recent Posts"
    def items(self):
        return Story.objects.all().order_by('-created')[:10]

    def link(self, obj):
        return obj.get_absolute_url()

ただし、次のエラーを受け取りました (完全なスタック トレースはhttp://dpaste.com/82510/にあります):

AttributeError: 'NoneType' object has no attribute 'startswith'

それは、オブジェクトをまったく受け取っていないと私に信じさせます。ただし、シェルにドロップしてそれらの Story オブジェクトを取得することはできます。それらを繰り返し処理して、問題なく絶対 URL を返すことができます。したがって、フィードの両方の部分が機能しているように見えますが、フィード形式の場合はそうではありません。さらに、いくつかのロギングを追加し、フィード リンクにアクセスしたときにアイテム関数が入力されないことを確認できます。私は単純なものを見落としているだけだと思っています。あらゆる/すべての助けを前もって感謝します。

4

2 に答える 2

4

変更:

class RSSFeed(Feed):
    title = settings.BLOG_NAME
    link = "/blog/"
    description = "Recent Posts"

    def items(self):
        return Story.objects.all().order_by('-created')[:10]

修正しました。私はそれを完全に理解しているかどうかわからない..しかし、なんとなく。:)

于 2009-08-19T01:51:59.550 に答える
1

定義しましたか

def get_absolute_url(self):

モデルで?

また、それはいいです

if not obj:
    raise FeedDoesNotExist

フィード結果が存在しない場合のエラーを回避するため

于 2009-08-20T00:02:14.837 に答える