我正在尝试在我的项目中实现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。
没什么可继续的,但是据我所知,似乎错误已引起,因为您试图从不存在的对象(例如data.context)中检索属性context
。错误的图片或堆栈跟踪可能有助于清除错误
我的问题与tables.py有关。该文件的第一次迭代使用了以下行:
template_name = "device_app/device_list.html"
template_name
与您要渲染的模板无关。它与django_tables2现有的用于表呈现的模板有关。
用此替换之前显示的行:
template_name = "django_tables2/bootstrap.html"
消除了我的问题。
template_name
可以进行更改以反映自定义格式,但是对于这个问题,只有理解我所面临的错误才是必要的。