【发布时间】:2023-03-07 00:14:01
【问题描述】:
我有一个模型Post,我正在尝试将所有帖子显示到模板上。我将 post.html 包含到 home.html 中......
我发现了与我的问题类似的问题,但对象仍然没有显示link
我首先尝试使用 python manage.py shell 来创建一个对象。所以首先我做了这个。
Post.objects.all()
<QuerySet [<Post: test>, <Post: admin>]>
然后我尝试创建一个新帖子。
Post.objects.create(user="test", content="New comment")
但收到此错误:
ValueError: Cannot assign "'test'": "Post.user" must be a "User" instance.
尝试排除故障,但无法解决。所以我只是决定在posts/views.py 中编写代码,但效果不佳。我认为这是我的问题的根源,为什么对象没有出现在模板中。
这是我的帖子/posts.views
def posts_list(request):
# if request.user.is_authenticated():
queryset = Post.objects.all()
context = {
"object_list": queryset,
"user": "username"
}
return render(request, "posts.html", context)
这是我的模板/post.html
<!DOCTYPE html>
<html lang="en">
<body>
<h1>What's on your mind, {{ user }}</h1>
{ % for obj in object_list %}
{{obj.user}}<br/>
{{obj.content}}<br/>
{{obj.timestamp}}<br/>
{% endfor %}
</body>
</html>
【问题讨论】:
-
用户实例表示
settings.AUTH_USER_MODEL模型实例,“test”只是一个字符串,这不是用户实例。 -
那么如何为已经在数据库中的用户添加帖子?还是有点迷茫。
标签: django