为什么我的output。htm文件,当我使用django模板“for loop”标签检索{{post数据。Firstname}}和{{post。姓}}没有结果?希望寻求帮助。提前谢谢。
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()以列表的形式返回对象。要通过键访问它们,只需使用values()。