html 上的 django for 循环无法检索其 object_lists 的每个数据字段
Posted
技术标签:
【中文标题】html 上的 django for 循环无法检索其 object_lists 的每个数据字段【英文标题】:django for loop on html cannot retrieve every data fields for its object_lists 【发布时间】:2021-11-13 12:31:57 【问题描述】:为什么我的 output.htm 文件,当我使用 django 模板“for loop”标签来检索 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 clas-s-room 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
【问题讨论】:
get 函数中有数据吗?尝试打印posts
数据并检查是否有数据
这能回答你的问题吗? Django values_list vs values
@Sabil 当我打印帖子时,数据如下: parker'), ('robin', 'adkins'), ('shaina', 'austin'), ('shaina', 'young'), ('trellany', 'abraham')]>
@Abdul Aziz Barkat 感谢您的帮助,但不是真的
% for firstname, surname in posts % posts = Student.objects.all().values("firstname", "surname").union(Teacher.objects.all().values("firstname", "surname"))
您需要使用values()
而不是values_list()
,因为values_list()
将对象作为列表返回。要通过键访问它们,只需使用values()
。
【讨论】:
谢谢大家。我想我现在明白了。由于 values_list() 返回列表而不是字典对象,因此我无法使用字典对象的键项来访问其值项。以上是关于html 上的 django for 循环无法检索其 object_lists 的每个数据字段的主要内容,如果未能解决你的问题,请参考以下文章
在 Django 中围绕 bootstrap html 标签封闭 For 循环
从 Django HTML 表单中检索数据并将其传递给 MySQL 数据库
无法在 Django 模板文件的 for 循环中使用条件标签