一、完善用户注册

添加一条用户短信验证码数据之后进行验证。

user/views.py

class UserViewset(CreateModelMixin,viewsets.GenericViewSet):'''用户'''serializer_class = UserRegSerializerqueryset = User.objects.all()

user/serializer.py添加

fields = ('username','code','mobile','password')

(2)password不能明文显示和加密保存

需要重载Create方法

#输入密码的时候不显示明文password = serializers.CharField(style={'input_type': 'password'},label=True,write_only=True)#密码加密保存def create(self, validated_data):user = super(UserRegSerializer, self).create(validated_data=validated_data)user.set_password(validated_data["password"])user.save()return user

这是重载Create方法,下面介绍如何用信号量来实现

信号量

(1)users下面创建signals.py

from django.db.models.signals import post_save
from django.dispatch import receiver
from rest_framework.authtoken.models import Tokenfrom django.contrib.auth import get_user_model
User = get_user_model()# post_save:接收信号的方式
#sender: 接收信号的model
@receiver(post_save, sender=User)
def create_user(sender, instance=None, created=False, **kwargs):# 是否新建,因为update的时候也会进行post_saveif created:password = instance.password#instance相当于user
        instance.set_password(password)instance.save()

(2)还需要重载配置

users/apps.py

from django.apps import AppConfigclass UsersConfig(AppConfig):name = 'users'verbose_name = "用户管理"def ready(self):import users.signals

AppConfig自定义的函数,会在django启动时被运行

现在添加用户的时候,密码就会自动加密存储了

转载于:https://www.cnblogs.com/mxsf/p/10675189.html

Django信号量实现用户密码修改相关推荐

  1. hmailserver php,hmailserver关于afterlogic webmail php版本下的用户密码修改功能

    hmailserver关于afterlogic webmail php版本下的用户密码修改功能(飞城原创) hmailserver作邮件服务器,squirrelmail 作邮件服务器的web界面实在是 ...

  2. 【漏洞分析】dedecms有前提前台任意用户密码修改

     0x00 前言 早上浏览sec-news,发现锦行信息安全发布了一篇文章<[漏洞分析] 织梦前台任意用户密码修改>,看完之后就想着自己复现一下. 该漏洞的精髓是php的弱类型比较,'0. ...

  3. 任意用户注册任意用户密码修改

    1.任意用户注册 漏洞描述: 用户手机获取的验证码只有四位数字,可对其进行爆破,使用任意手机号进行注册并登录 漏洞验证: 2.任意用户密码修改 漏洞描述: 用户手机获取的验证码只有四位数字,可对其进行 ...

  4. DeDeCMS v5.7 SP2 前台任意用户密码修改漏洞复现

    DeDeCMS v5.7 SP2 前台任意用户密码修改漏洞复现 一.漏洞概述 1.简介 织梦内容管理系统(DedeCms) [1] 以简单.实用.开源而闻名,是国内最知名的 PHP 开源网站管理系统, ...

  5. TIPTOP ERP 用户密码修改

    由于TIPTOP ERP 用户更改口令不是很方便,所以写了个程序用来更改用户口令 (按理来说不是自己亲自写的,是从别人那里要来改过后的, 好东西总是要共享的嘛) 以前的修改界面如下:[输入的内容是看不 ...

  6. 织梦任意前台用户密码修改漏洞复现

    标题:织梦任意前台用户密码修改漏洞复现 (DeDeCMS 前台任意用户密码修改漏洞) ps:工具:phpstudy,burp suite 1.火狐浏览器设置127.0.0.1 8080 端口代理 2. ...

  7. DeDeCMS v5.7 SP2 正式版 前台任意用户密码修改漏洞复现

    文章目录 简介 漏洞限制 影响版本 复现环境 工具准备 一.搭建网站 二.打开服务器代理 三.复现过程 注意 简介 织梦内容管理系统(DedeCms) [1] 以简单.实用.开源而闻名,是国内 最知名 ...

  8. Django中admin忘记密码修改密码

    由于浏览器有cookie,所以很多时候我们都把密码存在里面,时间长了,就忘记了,这时候就需要重置修改密码.首先用pycharm打开项目,(当然也可以直接cd到项目根目录操作) 然后打开tool-pyt ...

  9. MySQL 8.x 修改root用户密码/修改密码/重置密码/忘记密码(为了避免掉坑,值得收藏)

    操作系统:CentOS Linux release 8.2.2004 (Core) MySQL版本:mysql Ver 8.0.26 for Linux on x86_64 (Source distr ...

最新文章

  1. 如何在R中正确使用列表?
  2. 手握6亿把钥匙 能否打开“智能家居”的大门?
  3. 知识产权界福布斯排行榜公布:厉害了,我的中国!
  4. 有道精品课python-115批量转存与提取sha1工具2020下载
  5. java 学习笔记2022.1.26
  6. 高版本JDK13新特性以及与JDK8对比
  7. os.environ[‘CUDA_VISIBLE_DEVICES‘]= ‘0‘设置环境变量
  8. STM32H743+CubeMX-QSPI读写外部FLASH(W25Q128JVSQ)
  9. 每日一题 2020.05.26
  10. 的ppt_PPT制作小白,如和做好PPT
  11. mysql磁盘占用太大无法删除_mysql的binlog太大太多占用大量磁盘的解决
  12. SciPy 积分 | Python技能树征题
  13. 2022 年值得尝试的 7 个 MQTT 客户端工具
  14. Struts2拦截器Filter
  15. Axure RP 9.0 中继器增删改查实现[原型图]
  16. jQuery Validate插件验证
  17. discuz全局数组变量 后台各项设置 完整版
  18. 服务器虚拟cd,如何在VMware虚拟机上安装CD或DVD数据?
  19. kali linux安装upupoo_Kali Linux 下载、引导、安装
  20. Golang中AK/SK认证的实现

热门文章

  1. “630”落幕 光伏何去何从?
  2. 地主家也缺粮,高通一季度营收下降近两成
  3. mysql-installer-community-5.5.29.0.msi 下载
  4. PAT1040。有几个PAT
  5. face3000 c++ 代码运行
  6. python判断一个数是否是质数
  7. delay 芯片时序output_set_input_delay/set_output_delay
  8. 会声会影x4素材_小技巧!灵活使用会声会影
  9. Python学生成绩处理专业版
  10. android webview_在 Flutter 中使用 WebView