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

Context Error while using Django-tables2 in my Project

我正在尝试将 Django-tables2 实施到我的项目中。我能够渲染 object_list,但是当我将模板更改为 render_table 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'),

模板(不是完整页面。此页面上有专有信息。)

       <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

好吧,没有什么可以继续的了,但是据我所知,错误似乎已经出现,因为您试图从对象中检索属性 context(例如 data.context)它不存在的地方。错误的图片或堆栈跟踪可以帮助解决问题

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

template_name = "device_app/device_list.html"

template_name 与您正在渲染的模板无关。它与用于 table 渲染的 django_tables2 个现有模板有关。

将之前显示的行替换为:

template_name = "django_tables2/bootstrap.html"

解决了我的问题。

可以更改

template_name 以反映自定义格式,但对于这个问题,了解我所面临的错误只是必要的。