我已经有一个django项目,它的逻辑性如下:
url:URL?username = name&pwd = passwd
视图:
def func(request):
dic = request.GET
username = dic.get("username")
pwd = dic.get("pwd")
Run Code Online (Sandbox Code Playgroud)
但现在我们需要加密数据.然后,请求变为:
url:URL?crypt = XXXXXXXXXX(XXXXXXXX加密str为"username = name&pwd = passwd")
所以我需要修改每个视图功能.但是现在我想在django中间件中解密以防止修改每个视图功能.
但是当我修改request.GET时,我发现错误信息"这个QueryDict实例是不可变的".我怎么修改它?
我有一个django表单,我想自定义清理.我不想仅仅像这里那样指定错误消息(Django表单和字段验证),而是想自己改变字段.我尝试了一些方法,但一直遇到错误,就像cleaning_data是不可变的一样.
所以为了解决这个问题,我制作了一份副本,对其进行了修改并重新分配给了自己.这是最好的方法吗?可以/我应该在视图中处理这个吗?制作副本似乎很糟糕,但我一直遇到"不可变"的障碍.下面的示例代码我只是检查主题是否在末尾有'--help',如果没有添加它.谢谢
def clean(self):
cleaned_data=self.cleaned_data.copy()
subject=cleaned_data.get['subject']
if not subject.endswith('--help'):
cleaned_data['subject']=subject+='--help'
self.cleaned_data=cleaned_data
return self.cleaned_data
Run Code Online (Sandbox Code Playgroud)