django-tables2:模板渲染期间出错

时间:2016-09-22 21:56:25

标签: django django-tables2

我正在写一个最简单的django-table2示例 它失败了 Error during template rendering In template /myproject/app/templates/test_table.html, error at line 2 任何线索在这里有什么不对。只是关注文件。

上下文

1 {%load render_table from django_tables2%}

2 {%render_table table%}

3

model.py

class TestTable1(models.Model):
    col1 = models.CharField(max_length=1, primary_key=True)
    col2 = models.FloatField(blank=True, null=True)

    class Meta:
        managed = False
        db_table = 'test_table1'

class TestTable1Tbl(tables.Table):

    class Meta:
        model = TestTable1
        attrs = {"class":"paleblue"}

views.py

def test_table(request):

    table = TestTable1Tbl(TestTable1.objects.all())
    RequestConfig(request).configure(table)
    return render(request,"test_table.html",{'table':table})

模板

$ more test_table.html

{% load render_table from django_tables2 %}
{% render_table table %}

以下是错误消息

在处理上述异常期间(无法将字符串转换为float:' table'),发生了另一个异常:

        return template.render(context.flatten()) 

2 个答案:

答案 0 :(得分:0)

问题出在table.html文件中。在/ templates / django_tables /下复制后问题得到解决,谢谢。

答案 1 :(得分:0)

我遇到了同样的问题,但上面的答案最初让我很困惑。

table.html文件似乎是呈现表期望找到的默认模板。我发现专门设置template_name并将django_tables2添加到文件路径解决了问题,而没有从django2源复制文件。

所以适用于上面的示例(我也选择boostrap.html而不是table.html

class TestTable1Tbl(tables.Table):

    class Meta:
        model = TestTable1
        attrs = {"class":"paleblue"}        
        template_name = 'django_tables2/bootstrap.html'