在我的项目中使用 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
以反映自定义格式,但对于这个问题,了解我所面临的错误只是必要的。
我正在尝试将 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
以反映自定义格式,但对于这个问题,了解我所面临的错误只是必要的。