django 修改request.get或request.post提示:This QueryDict ins
发布时间:2020-12-15 17:15:37 所属栏目:大数据 来源:网络整理
导读:背景: django版本 2.1.1 代码: from?django.shortcuts?import?renderdef?login(request):????data=request.POST????data['name']='chenxinming'????return?render(request,'login.html') 提示错误信息: AttributeError:?This?QueryDict?instance?is?immut
背景: django版本 2.1.1 代码: from?django.shortcuts?import?render def?login(request): ????data=request.POST ????data['name']='chenxinming' ????return?render(request,'login.html') 提示错误信息: AttributeError:?This?QueryDict?instance?is?immutable 解决办法: 查阅官方文档,发现QueryDict实例变成一个不可修改。 官方文档解释:
代码: 第一种解决方法: from?django.shortcuts?import?render def?login(request): ????data=request.POST.copy() ????data['name']='chenxinming' ????return?render(request,255);'>第二种解决方法:from?django.shortcuts?import?render def?login(request): ????data=request.POST ????#?记住旧的方式 ????_mutable?=?data._mutable ????#?设置_mutable为True ????data._mutable?=?True ????#?改变你想改变的数据 ????data['name']='chenxinming' ????#?恢复_mutable原来的属性 ????data._mutable?=?_mutable ????return?render(request,'login.html') |