User authentication in Django | Python

Posted pymkl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了User authentication in Django | Python相关的知识,希望对你有一定的参考价值。

1.User用户表默认字段

  username,password,email,first_name,last_name  

 

2.添加User表数据

from django.contrib.auth.models import User


user = User.objects.create_user(mic,[email protected],micpassword)
user.save()

技术分享图片

 

3.创建超级用户

python3 manage.py createsuperuser 

创建超级用户,与上面添加的用户区别在于被赋予了权限,可以登录django自带admin后台管理数据;

技术分享图片

技术分享图片

 

4.修改用户密码

终端修改:python3 manage.py changepassword username new_password

代码修改;

admin后台修改;

from django.contrib.auth.models import User

u = User.objects.get(username="mic") u.set_password("zxcvbn123") u.save()

 

5.用户认证

django推荐使用LoginView视图类来处理,而不是使用下面的例子;

>>> from django.contrib.auth.models import User
>>> from django.contrib.auth import authenticate
>>> user = authenticate(username="mic",password="zxcvbn123")
>>> user
<User: mic>
>>> if user:
...     print("认证成功!")
...
认证成功!
>>> user = authenticate(username="mic",password="wrong_password")
>>> user
>>>

 

6.用户组与权限

django自带用户组表与权限表,此外,还有:用户/用户组,用户/权限,用户组/权限 这三张额外生成的多对多表,即用户,用户组,权限id的对应关系;

怎么将权限移植到自己做的后台管理系统中呢?

就是对这几张表的增删改查;

技术分享图片

django自带的权限是对所有表的增删改查的赋权,如果需要设置对单个表的权限,需要自己构造;

待补充...

 




以上是关于User authentication in Django | Python的主要内容,如果未能解决你的问题,请参考以下文章

freenode configuration sasl authentication in weechat

MariaDB 在 `mysql.user` 表中同时具有 `authentication_string` 和 `Password` 字段

Command failed with error 18 (AuthenticationFailed): ‘Authentication failed.’

django redirect_authenticated_user

passportjs TypeError:User.authenticate 不是函数

Python Django - 模板标签中的 % request.user.is_authenticated % 不适用于 JS