2013-09-29 60 views
0

使用feedparser時,這就是從這裏跟進的問題bozo_exception in Django/feedparser「查詢集」對象有沒有屬性「鏈接」在Django

我想通過從型號/ DB許多飼料迭代,並讓每個人顯示在html模板中。雖然我也明白,我需要遍歷思想x.feed.entries在HTML模板,我認爲迭代通過每一個RSS源需要發生在視圖功能是否正確?

def feed5(request): 
    source = Feed.objects.all() 
    for item in source.url: 
     rss = feedparser.parse(item) 
    context = {'rss': rss,} 
    return render(request, 'feedreader/feed5.html', context) 

給我這個錯誤:'QuerySet'對象沒有屬性'url'。不知道該怎麼辦?

謝謝

回答

1

嗯,它實際上並不 - - Python不是騙你。見,sourceQuerySet,結果列表狀結構,而不是一個結果。如果這是你的Feed模式,應該有一個URL屬性,然後看看它的它,而不是查詢集:

for item in source: 
    rss = feedparser.parse(item.url) 
+0

好了,現在我有這個在#views '高清feed5(請求): 源= Feed.objects.all() for item in source: rss = feedparser.parse(item.url) context = {'rss':rss} return render(request,'feedreader/feed5.html',context )' ## feed5.html看起來像這樣 '

{{ rss.feed.title }}

    {%的R在rss.entries |片: 「15」 %}
  • {{ r.title }}
    {{r.description | striptags}}
  • {%ENDFOR%}
' 但頁面顯示RSS條目只能從一個來源並忽略從DB跳過所有其他人。爲什麼? – sikor

+0

你只是傳遞的最後一個項目到右鍵,因爲它是最後一個任務。重複所有事情並不重要。取而代之的是,建立數據在某些列表中環路('li.append(RSS)')),通過整個名單中的背景和遍歷所有的飼料在你的模板中的項目(你需要嵌套對於-S)。 – justinas

+0

明白了,謝謝! 'DEF feed5(請求): 源= Feed.objects.all() 列表= [] 在源項: RSS = feedparser.parse(item.url) list.append(RSS) 上下文= {'rss':list} return render(request,'feedreader/feed5.html',context)' – sikor

相關問題