Django-tables2: ValueError at /interactive_table/ Expected table or queryset, not str

Django-tables2: ValueError at /interactive_table/ Expected table or queryset, not str

我一直在关注 Django-tables2 教程(可在此处找到:https://django-tables2.readthedocs.io/en/latest/pages/tutorial.html)。到目前为止,我已经修复了所有错误,但我遇到了一个我无法解决的错误。它说我的代码需要 table 或查询集,而不是字符串。

我看了一圈,所有解决这个问题的方法都是版本过期,我已经更新了,还是报这个错。

有人知道我做错了什么吗?

这是我的 views.py:

from django.shortcuts import render
from interactive_table import models

def people(request):
    return render(request, 'template.html', {'obj': models.people.objects.all()})

这是我的 models.py:

    from django.db import models

class people(models.Model):
    name = models.CharField(max_length = 40, verbose_name = 'Full Name')

这是我的 template.html:

{# tutorial/templates/people.html #}
{% load render_table from django_tables2 %}
<!doctype html>
<html>
    <head>
        <link rel="stylesheet" href="{{ STATIC_URL }}django_tables2/themes/paleblue/css/screen.css" />
    </head>
    <body>
        {% render_table people %}
    </body>
</html>

在渲染函数中将 obj 更改为 people

尝试了解模板和模板变量如何与 django 一起工作。

文档可能是 look

的好地方

将模板响应更改为 return people 而不是 obj

return render(request, 'template.html', {'people': models.people.objects.all()})