Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
';QuerySet';对象没有属性';url';在Django中使用feedparser时_Django_Feedparser - Fatal编程技术网

';QuerySet';对象没有属性';url';在Django中使用feedparser时

';QuerySet';对象没有属性';url';在Django中使用feedparser时,django,feedparser,Django,Feedparser,这是接下来的问题 我希望遍历models/DB中的许多提要,并将它们显示在html模板中。虽然我知道我需要迭代html模板中的think x.feed.entries,但我假设需要在view函数中迭代每个rss源,对吗 def feed5(request): source = Feed.objects.all() for item in source.url: rss = feedparser.parse(item) context = {'rss': r

这是接下来的问题

我希望遍历models/DB中的许多提要,并将它们显示在html模板中。虽然我知道我需要迭代html模板中的think x.feed.entries,但我假设需要在view函数中迭代每个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”。我不知道该怎么办


谢谢

好吧,事实并非如此——Python没有对你撒谎。请参阅,
source
是一个
QuerySet
,一个类似列表的结果结构,而不是单个结果。如果您的
提要
模型应该具有url属性,则在其上查找,而不是查询集:

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

好的,现在我在#views
def feed5(request):source=Feed.objects.all()中为source:rss=feedparser.parse(item.url)context={'rss':rss}返回render(request,'feedreader/feed5.html',context)
#feed5.html看起来是这样的

  • {{r.description | striptags}}
  • {%endfor%}但是页面仅显示来自一个源的rss条目,并忽略跳过数据库中的所有其他条目。为什么?您只是将最后一项传递到上下文中,因为它是最后一个赋值。迭代所有内容并不重要。相反,在循环中的一些列表(
    li.append(rss)
    )中建立数据,在上下文中传递整个列表,并迭代模板中所有提要的项(您需要嵌套for-s)。明白了,谢谢
    def feed5(请求):source=Feed.objects.all()list=[]用于源中的项:rss=feedparser.parse(item.url)list.append(rss)context={'rss':list}返回呈现(请求'feedreader/feed5.html',context)