html 上的 django for 循环无法检索其 object_lists 的每个数据字段
django for loop on html cannot retrieve every data fields for its object_lists
为什么对于我的 output.htm 文件,当我使用 django 模板“for 循环”标签检索 {{ post.firstname }} 上的数据时,还有{{ post.surname }},没有显示结果?希望得到帮助。提前致谢。
Ps: 下面的代码只是部分工作。这意味着我没有写出 python 个库,以下代码完整 html。
#views.py
class Student_list(View):
def get(self, request):
posts = Student.objects.all().values_list("firstname", "surname").union(Teacher.objects.all().values_list("firstname", "surname"))
"""raw sql => SELECT * FROM l2_OR_queries_student WHERE surname LIKE 'bald%' OR surname LIKE 'aus%' """
return render(request, "l4_UNION_queries/output.htm", context = {"posts": posts})
<!--output.htm -->
<table>
<tr>
<th>First Name</th>
<th>Surname</th>
</tr>
{% for post in posts %}
<tr>
<td>{{ post.firstname }}</td>
<td>{{ post.surname }}</td>
</tr>
{% endfor %}
</table>
student.sqlite3
id firstname surname age classroom teacher
4 shaina austin 20 1 trellany
5 raquel avery-parker 21 2 robin
6 lakisha baldwin 20 3 crystal
teacher.sqlite3
id firstname surname
9 trellany abraham
10 robin adkins
11 crystal allen
12 shaina young
posts = Student.objects.all().values("firstname", "surname").union(Teacher.objects.all().values("firstname", "surname"))
您需要使用 values()
而不是 values_list()
因为 values_list()
returns 对象作为列表。要通过按键访问它们,只需使用 values()
.
为什么对于我的 output.htm 文件,当我使用 django 模板“for 循环”标签检索 {{ post.firstname }} 上的数据时,还有{{ post.surname }},没有显示结果?希望得到帮助。提前致谢。
Ps: 下面的代码只是部分工作。这意味着我没有写出 python 个库,以下代码完整 html。
#views.py
class Student_list(View):
def get(self, request):
posts = Student.objects.all().values_list("firstname", "surname").union(Teacher.objects.all().values_list("firstname", "surname"))
"""raw sql => SELECT * FROM l2_OR_queries_student WHERE surname LIKE 'bald%' OR surname LIKE 'aus%' """
return render(request, "l4_UNION_queries/output.htm", context = {"posts": posts})
<!--output.htm -->
<table>
<tr>
<th>First Name</th>
<th>Surname</th>
</tr>
{% for post in posts %}
<tr>
<td>{{ post.firstname }}</td>
<td>{{ post.surname }}</td>
</tr>
{% endfor %}
</table>
student.sqlite3
id firstname surname age classroom teacher
4 shaina austin 20 1 trellany
5 raquel avery-parker 21 2 robin
6 lakisha baldwin 20 3 crystal
teacher.sqlite3
id firstname surname
9 trellany abraham
10 robin adkins
11 crystal allen
12 shaina young
posts = Student.objects.all().values("firstname", "surname").union(Teacher.objects.all().values("firstname", "surname"))
您需要使用 values()
而不是 values_list()
因为 values_list()
returns 对象作为列表。要通过按键访问它们,只需使用 values()
.