以下是我在URL.py,views.py和HTML页面中的代码。但是,它返回了以下错误:TypeError:无法解压缩不可迭代的int对象。
urlpatterns = [
path('', views.blogs_home, name='blogs'),
path('<int:id>', views.single_blog, name='detailed_view'),
]
我正在尝试在列表视图中捕获博客博客的ID,以使用ID查询从数据库中获取博客对象。以下是我的查看代码。
def single_blog(request,id):
blog_single = Blogs.objects.get(id)
context = {'blog_single': blog_single}
template = 'blog_home.html'
return render(request, template, context)
但是,正如我提到的,它会返回上述错误。
有人可以解释我在做什么错
答案 0 :(得分:2)
您应该在.filter(..)
或.get(..)
调用中指定参数的名称:
def single_blog(request, id):
blog_single = Blogs.objects.get(id=id)
context = {'blog_single': blog_single}
template = 'blog_home.html'
return render(request, template, context)
我还建议将您的变量重命名为其他名称(在urls.py
和views.py
中都这样),因为id
是内置函数,现在局部变量“正在隐藏“这个内置的。