在我的项目中使用Django-tables2时出现上下文错误

问题描述 投票:1回答:2

我正在尝试在我的项目中实现Django-tables2。我能够渲染object_list,但是当我将模板更改为render_table表时,它会失败。

我在租借模板时看到此错误:

Exception Type: AttributeError Exception Value: context

这是我的以下文件

Views.py

class DeviceTable_New(SingleTableView):
    table_class = DeviceTable
    template_name = "device_app/device_list.html"
    paginator_class = LazyPaginator

Tables.py

class DeviceTable(tables.Table):
    class Meta:
        model = Device
        template_name = "device_app/device_list.html"
        fields = ("id", "type", "processed","donated_to_recipient")

urls.py

path('device_list/',views.DeviceTable_New.as_view(),name='device_list'),

Template(不是整页。此页面上有专有信息。)

       <div class='col-md-8'>
          <div class="jumbotron">
              <h1>Devices</h1>
              <hr>
              <p><a class='button' href="{% url 'device_app:device_create'%}">Create Device</a</p>

              {% render_table table %}
          </div>
        </div>

编辑:如果我更改一小段代码(尝试了多种更改),我最终会看到以下内容:Fatal Python error: Cannot recover from stack overflow.

编辑2:我在Django-tables2存储库上创建了一个issue ticket

django python-3.7 django-tables2
2个回答
0
投票

没什么可继续的,但是据我所知,似乎错误已引起,因为您试图从不存在的对象(例如data.context)中检索属性context。错误的图片或堆栈跟踪可能有助于清除错误


0
投票

我的问题与tables.py有关。该文件的第一次迭代使用了以下行:

template_name = "device_app/device_list.html"

template_name与您要渲染的模板无关。它与django_tables2现有的用于表呈现的模板有关。

用此替换之前显示的行:

template_name = "django_tables2/bootstrap.html"

消除了我的问题。

template_name可以进行更改以反映自定义格式,但是对于这个问题,只有理解我所面临的错误才是必要的。

© www.soinside.com 2019 - 2024. All rights reserved.