18910140161

HTML-'photo'对象不是可迭代的Django-Stack溢出错误

顺晟科技

2022-10-19 12:13:16

98

我已经创建了一个页面,当工作人员单击视图按钮时,它应该将他们重定向到视图页面,但我得到了这个错误'Photo'对象不可迭代,如下图所示。如何解决此错误?

这是我的页面在查看按钮中的外观

“照片”对象不可迭代错误

views.py

def view(request, pk):

    alldescription = Photo.objects.get(id=pk)

    return render(request, 'view.html', {'alldescription': alldescription})

urls.py

def view(request, pk):

    alldescription = Photo.objects.get(id=pk)

    return render(request, 'view.html', {'alldescription': alldescription})

viewreception.html

def view(request, pk):

    alldescription = Photo.objects.get(id=pk)

    return render(request, 'view.html', {'alldescription': alldescription})

view.html

def view(request, pk):

    alldescription = Photo.objects.get(id=pk)

    return render(request, 'view.html', {'alldescription': alldescription})

顺晟科技:

您不返回查询集,而是返回视图中的单个实例(由方法指示),因此它是不可迭代的。

def view(request, pk):

    alldescription = Photo.objects.get(id=pk)

    return render(request, 'view.html', {'alldescription': alldescription})

这就是为什么不能在模板中迭代。

只需使用

def view(request, pk):

    alldescription = Photo.objects.get(id=pk)

    return render(request, 'view.html', {'alldescription': alldescription})

并返回其他循环和模板。

您使用

def view(request, pk):

    alldescription = Photo.objects.get(id=pk)

    return render(request, 'view.html', {'alldescription': alldescription})

但是get()返回一个项目。在模板中,尝试遍历这一项。这是不可能的。这就是在呈现相关模板时出现错误的原因。

应通过移除for-loop在模板中使用:

def view(request, pk):

    alldescription = Photo.objects.get(id=pk)

    return render(request, 'view.html', {'alldescription': alldescription})
  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航