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