【问题标题】:django for loop on html cannot retrieve every data fields for its object_listshtml 上的 django for 循环无法检索其 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 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

【问题讨论】:

  • 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 %} {{ firstname }} {{ surname }} { % endfor %} 。我想我应该这样写html。但我只是想知道为什么上述方法不起作用(即 post.firstname,post.surname)

标签: python html django sqlite orm


【解决方案1】:
 posts = Student.objects.all().values("firstname", "surname").union(Teacher.objects.all().values("firstname", "surname"))

您需要使用values() 而不是values_list(),因为values_list() 将对象作为列表返回。要通过键访问它们,只需使用values()

【讨论】:

  • 谢谢大家。我想我现在明白了。由于 values_list() 返回列表而不是字典对象,因此我无法使用字典对象的键项来访问其值项。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-10
  • 2017-05-27
  • 1970-01-01
  • 2021-03-06
  • 1970-01-01
  • 1970-01-01
  • 2021-10-06
相关资源
最近更新 更多