Django-tables2:/ interactive_table / Expected table或queryset的ValueError,而不是str

时间:2016-09-08 16:38:43

标签: python django django-tables2

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

我环顾四周,这个问题的所有解决方案都归咎于版本已过时,但我已经更新了它,但我仍然遇到此错误。

有人知道我做错了吗?

这是我的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>

2 个答案:

答案 0 :(得分:2)

在渲染功能中将obj更改为people

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

文档可能是look

的好地方

答案 1 :(得分:1)

更改模板回复以返回people而不是obj

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