背景:
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实例变成一个不可修改。
官方文档解释:
在正常的请求/响应周期中访问时,QueryDicts request.POST和request.GET将是不可变的。要获得可变版本,您需要使用QueryDict.copy()。
代码:
第一种解决方法:
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')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。