采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
之前账号的密码忘记了,在pycharm里面的manage.py用createsuperuser创建了新的超级管理员,但是登录不进去
TMD,见鬼了。
明明用pycharm上传了好几次,我用SecureCRT在服务器上vim那个signals,我发现居然没变!!!
然后我直接在服务器上把那行注释掉了,然后就可以了
instance.set_password(password)
为什么我往服务器上上传代码,服务器的代码没有更改?????????????
重新又测试了一下上传,终于能上传了。不知道为什么之前的没有上传成功,也没有提示
本地调试可以登录了,远程服务器又登录不上了
在远程服务器上也重新创建了超级用户,为啥登录不上去
貌似不应该调用
如果有这行的话,就哈希两次了
这里确实要防止调用两次,不然密码就出问题了
之前的帖子里面有答案https://coding.imooc.com/learn/questiondetail/nlz2pX17Am7PaG4Q.html
说把这一块注释掉再createsuperuser
我都忘记这段代码是做什么的了
此代码段定义了一个post_save信号的接收器,当一个User模型的实例保存时,就会响应此信号,从而调用此函数。函数中,首先会检查created参数是否为True,即判断是否是新创建的实例。如果是,则获取该实例的密码,并使用set_password()方法设置密码,然后保存。
set_password是Django框架中的一个内置函数,用于设置用户的密码。它接受一个参数,即要设置的密码,并将其哈希化为存储在数据库中的安全格式。
突然觉得加密了密码以后也是有好处的,至少不会被网站管理员看到密码,听说哈希算法加密是单向加密,没有密钥可以解。那我就放心多了。
但是又转念一想:会不会有的网站的密码是明文保存。
或者,管理员不知道密码,但是可以直接把你密码给改了
登录后可查看更多问答,登录/注册
Django REST framework课程视频,RESTFul API前后端分离开发
10.9k 1
5.1k 51
1.4k 19
2.1k 19
1.8k 19
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号