将腌制的对象作为参数发送到GET请求时,如何解决未腌制的堆栈下溢错误?

时间:2019-06-10 09:39:45

标签: python django get django-views pickle

我正在腌制模型对象,并将它们作为参数发送给get请求,以便可以在其他视图中使用这些对象。 在将腌制的对象作为字符串接收后,我对其进行编码,然后解开,得到以下内容:

Exception Type: UnpicklingError
Exception Value: unpickling stack underflow

我想过滤模型,腌制它们,将它们作为url参数发送并编码并释放。 (是因为GET请求对URL进行编码吗?)

Views.py

class SearchView(View):

def get(self,request):
    qs = report.objects.all()

            #FILTER STUFF

    item = pickle.dumps(qs)



    return render(self.request,self.template_name,{'qs':qs,'item':item})



def report_download(request,item):
    succ1 = item.encode()
    succ = pickle.loads(succ1)
    #DO STUFF


    return response

urls.py

url_patterns =[ url(r'^download/( 
              ?P<item>.*)/$',views.report_download,name='dload'),]

template.html

<form action=".">
    <button type="submit" class="btn btn-primary"><a href="{%url 
    'auto_project:dload' item %}">Download</a></button>  
</form>

0 个答案:

没有答案