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自带的权限是对所有表的增删改查的赋权,如果需要设置对单个表的权限,需要自己构造;

待补充...

猜你喜欢

转载自www.cnblogs.com/pymkl/p/9186792.html
今日推荐