Esempio n. 1
0
 def post(self, request, *args, **kwargs):
     data = QueryDict(request.body).dict()
     password = data.get('password')
     #对password加密
     cry_password = prpcrypt.encrypt(password)
     data['password'] = cry_password
     #写入数据库
     self.model.objects.create(**data)
     return JsonResponse({'status': 0})
Esempio n. 2
0
 def put(self, request, *args, **kwargs):
     #密码的修改逻辑:如果密码没变化就直接保存,有变化就加密后保存
     data = QueryDict(request.body).dict()
     pk = kwargs.get('pk')
     obj = self.model.objects.get(pk=pk)
     password = data.get('password')
     if obj.password != password:
         data['password'] = prpcrypt.encrypt(password)
     self.model.objects.filter(pk=pk).update(**data)
     return JsonResponse({'status': 0})
Esempio n. 3
0
 def update(self, instance, validated_data):
     password = validated_data.get(self.parameter)
     if password != instance.password:
         validated_data[self.parameter] = prpcrypt.encrypt(password)
     return super(SetEncryptMixins, self).update(instance, validated_data)
Esempio n. 4
0
 def create(self, validated_data):
     password = validated_data.get(self.parameter)
     validated_data[self.parameter] = prpcrypt.encrypt(password)
     return super(SetEncryptMixins, self).create(validated_data)