gpt4 book ai didi

python - get_error_or_404 返回没有属性的元组

转载 作者:行者123 更新时间:2023-11-30 22:10:08 26 4
gpt4 key购买 nike

正在学习django,最近无法修复这个错误。错误说:

'tuple' object has no attribute 'title'.

我的views.py 文件如下所示:

def post_detail(request):
instance = get_object_or_404(Post, id=3),
context = {"instance": instance,
"title": instance.title # Line of error
}
return render(request, "post_detail.html", context)

模板文件post_detail.html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Post Details</title>
</head>
<body>
<h1>
{{ title }} logged in.<br><br></h1>
{{instance.title}}<br>
{{instance.content}}<br>
{{instance.updated}}<br>
{{instance.timestamp}}<br>
{{instance.id}}<br><br>

</body>
</html>

模型.py

class Post(models.Model):
title = models.CharField(max_length=120)
content = models.TextField()
updated = models.DateTimeField(auto_now=True, auto_now_add=False)
timestamp = models.DateTimeField(auto_now=False,auto_now_add=True)


def __str__(self):
return self.title

有人可以指出我哪里出错了吗?

最佳答案

你写:

instance = get_object_or_404(Post, id=3)<b>,</b>
# ^ comma

注意行尾的逗号 (,)。这意味着您将 get_object_or_404(..) 调用的结果包装到一个单例元组中(一个元组恰好 一个元素)。因此,如果结果是 42 (当然这里不可能),通过在末尾写一个逗号,您可以构造一个元组 (42,).

如果您删除逗号,则实例将获得函数调用本身的结果。

关于python - get_error_or_404 返回没有属性的元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51741398/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com