Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django_tables2 ValueError:应为表或查询集,而不是str_Python_Django_Django Tables2 - Fatal编程技术网

Python Django_tables2 ValueError:应为表或查询集,而不是str

Python Django_tables2 ValueError:应为表或查询集,而不是str,python,django,django-tables2,Python,Django,Django Tables2,我正在使用{%render\u table%}标记在模板中呈现django\u tables 2表,但我得到了错误: localserver错误: 内部服务器错误:/keymanager 回溯(最近一次呼叫最后一次): 文件“C:\Users\Rigelsolutions\source\repos\management\u information\u system\management\u information\u system\mis\env\lib\site packages\django

我正在使用
{%render\u table%}
标记在模板中呈现
django\u tables 2
表,但我得到了错误:

localserver错误:
内部服务器错误:/keymanager
回溯(最近一次呼叫最后一次):
文件“C:\Users\Rigelsolutions\source\repos\management\u information\u system\management\u information\u system\mis\env\lib\site packages\django\core\handlers\exception.py”,第34行,在内部
响应=获取响应(请求)
文件“C:\Users\Rigelsolutions\source\repos\management\u information\u system\management\u information\u system\mis\u env\lib\site packages\django\core\handlers\base.py”,第115行,在get\u响应中
response=self.process\u异常\u由\u中间件(e,请求)
文件“C:\Users\Rigelsolutions\source\repos\management\u information\u system\management\u information\u system\mis\u env\lib\site packages\django\core\handlers\base.py”,第113行,在\u get\u response中
响应=包装的回调(请求,*回调参数,**回调参数)
文件“C:\Users\Rigelsolutions\source\repos\management\u information\u system\management\u information\u system\IENG\u MIS\views.py”,第29行,在issuekey中
返回呈现(请求'keymanagement.html',{'form':form})
文件“C:\Users\Rigelsolutions\source\repos\management\u information\u system\management\u information\u system\mis\env\lib\site packages\django\shortcuts.py”,第36行,在render中
content=loader.render_to_string(模板名称、上下文、请求、using=using)
文件“C:\Users\Rigelsolutions\source\repos\management\u information\u system\management\u information\u system\mis\u env\lib\site packages\django\template\loader.py”,第62行,呈现为字符串
返回template.render(上下文、请求)
文件“C:\Users\Rigelsolutions\source\repos\management\u information\u system\management\u information\u system\mis\env\lib\site packages\django\template\backends\django.py”,第61行,呈现
返回self.template.render(上下文)
文件“C:\Users\Rigelsolutions\source\repos\management\u information\u system\management\u information\u system\mis\env\lib\site packages\django\template\base.py”,第171行,在render中
返回self.\u呈现(上下文)
文件“C:\Users\Rigelsolutions\source\repos\management\u information\u system\management\u information\u system\mis\env\lib\site packages\django\template\base.py”,第163行,在渲染中
返回self.nodelist.render(上下文)
文件“C:\Users\Rigelsolutions\source\repos\management\u information\u system\management\u information\u system\mis\env\lib\site packages\django\template\base.py”,第937行,在render中
位=节点。带注释的渲染(上下文)
文件“C:\Users\Rigelsolutions\source\repos\management\u information\u system\management\u information\u system\mis\env\lib\site packages\django\template\base.py”,第904行,带注释的渲染
返回self.render(上下文)
文件“C:\Users\Rigelsolutions\source\repos\management\u information\u system\management\u information\u system\mis\u env\lib\site packages\django\u tables2\templatetags\django\u tables2.py”,第144行,在render中
raise VALUERROR(“应为表或查询集,而不是{}”。格式(klass))
ValueError:应为表或查询集,而不是str
[2019年10月16日22:42:32]“GET/keymanager HTTP/1.1”500 117360
models.py

K

tables.py

import django_tables2 as tables
from .models import issuekeys

class issued_table(tables.Table):
    model=issuekeys
    template_name = "django_tables2/bootstrap.html"

    fields=('keynumber', 'workorder','contrator','assigned_name','assigned_contact','date_to_return',)
views.py

from django.shortcuts import render, redirect

from django.contrib.auth.decorators import login_required
from django.http import HttpResponseRedirect
from django_tables2 import RequestConfig
from .forms import issuekeyform
from .tables import issued_table
from .models import issuekeys



@login_required()
def landing_page(request):
        return render(request, 'landing_page.html')
def login(request):
    return render(request, 'login.html')
def issuekey(request):
    if request.method=='POST':
        global form
        form= issuekeyform(request.POST)
        if form.is_valid():
            post = form.save(commit=False)

            post.save()
        return HttpResponseRedirect('/keymanager')
    else:
            form = issuekeyform()

    return render(request, 'keymanagement.html', {'form': form})



def issuetable():
     table = issued_table(issuekeys.objects.all())
     RequestConfig(request, paginate={'per_page': 10}).configure(table)
     return render(request, "keymanagement.html", {'table': table})
kemanagement.html

{% load widget_tweaks %}
{% load bootstrap4 %}
{% bootstrap_css %}
{% bootstrap_javascript jquery='full' %}
{% load i18n %}

{% load render_table from django_tables2 %}
<div class="col-4">
                <h4 class="text-primary" style="text-align:left; font-family:'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif" >Register Key:</h4>
                <div class="row" style="margin-top: 1em; margin-left: 1mm">
                    {% render_table table %}
                </div>
            </div>

错误stacktrace在中间某处显示:

。。。
文件“C:\Users\Rigelsolutions\source\repos\management\u information\u system\management\u information\u system\IENG\u MIS\views.py”,第29行,在issuekey中
返回呈现(请求'keymanagement.html',{'form':form})
...
请注意它是如何引用函数
issuekey
,但在视图中仅显示函数
issuetable

因此,您要么显示了不同的视图函数,要么意外地显示了不同的错误stacktrace,因为这两个函数不属于一起


您能否更新视图或错误堆栈跟踪,以便我们能进一步帮助您?

您能否包含完整的错误堆栈跟踪?我省略了处理表单的函数。请查收
django_tables2 version: 2.1.1
django version: 2.2.6