Python Django:从db调用对象返回<;查询集[…]>;
我正在尝试建立一个非常简单的博客应用程序,同时显示数据库中的所有帖子。然而,我的四篇文章在页面上显示为Python Django:从db调用对象返回<;查询集[…]>;,python,django,python-3.x,django-1.11,Python,Django,Python 3.x,Django 1.11,我正在尝试建立一个非常简单的博客应用程序,同时显示数据库中的所有帖子。然而,我的四篇文章在页面上显示为 <QuerySet [<Post: Test content>, <Post: Second test post>, <Post: Third time's the charm>, <Post: Here is a post.>]> models.py: 1 from django.db import models 2
<QuerySet [<Post: Test content>, <Post: Second test post>, <Post: Third time's the charm>, <Post: Here is a post.>]>
models.py:
1 from django.db import models
2
3 class Post(models.Model):
4 content = models.CharField(max_length = 200)
5
6 def __str__(self):
7 return self.content
main.html:
1 <head>
2 <h1>{{ post }}</h1>
3
4 </head>
5
6 <body>
7 {{ testvar }}
8 {% for i in post_list %}
9 <li>i</li>
10 {% endfor %}
11 </body>
1
2{{post}}
3.
4.
5.
6.
7{{testvar}}
8{post_list%}
9i
10{%endfor%}
11
我是django的新手,所以如果有其他建议或批评,我将不胜感激。谢谢。首先,您需要将一个字典传递给
渲染
:
return render(request, 'posts/main.html',
{'post': post_list, 'testvar': testvar},
)
您的模板不会给您声明的输出,因为您从来不会显示整个post\u list
,也不会显示循环中每个元素的内容。大概你的意思是:
{% for i in post_list %}
<li>{{ i }}</li>
{% endfor %}
首先,您需要将一个字典传递给
render
:
return render(request, 'posts/main.html',
{'post': post_list, 'testvar': testvar},
)
您的模板不会给您声明的输出,因为您从来不会显示整个post\u list
,也不会显示循环中每个元素的内容。大概你的意思是:
{% for i in post_list %}
<li>{{ i }}</li>
{% endfor %}
在您的
视图.py中
将返回状态更改为:
return render(request, 'posts/main.html', {'post': post_list, 'testvar': testvar})
因为render的第三个参数需要一个字典。此外,为了在模板中呈现帖子,您应该将帖子打印为
{% for i in post_list %}
<li>{{ i }}</li>
{% endfor %}
{post_list%中的i的%
{{i}
{%endfor%}
在您的视图中.py
将返回状态更改为:
return render(request, 'posts/main.html', {'post': post_list, 'testvar': testvar})
因为render的第三个参数需要一个字典。此外,为了在模板中呈现帖子,您应该将帖子打印为
{% for i in post_list %}
<li>{{ i }}</li>
{% endfor %}
{post_list%中的i的%
{{i}
{%endfor%}
上下文应该是一个字典,包含您需要的任意多个键:值对
6 def post(request ):
7 testvar = "TEST VARIABLE PLZ IGNORE"
8 post_list = Post.objects.order_by('id')
9
10 return render(request, 'posts/main.html',
11 {'post': post_list, 'testvar': testvar},
12
上下文
应该是一个字典,包含您需要的任意多个键:值对
6 def post(request ):
7 testvar = "TEST VARIABLE PLZ IGNORE"
8 post_list = Post.objects.order_by('id')
9
10 return render(request, 'posts/main.html',
11 {'post': post_list, 'testvar': testvar},
12