使用django的自己用户模块
-
建⽴model( from django.contrib.auth.models import AbstractUser )
-
settings指定模型类( AUTH_USER_MODEL )
-
迁移⽣成数据库(原来⽣成过这些表的,需要删除所有的表进⾏重新⽣成)
使用DRF-JWT来做登陆注册以及状态保持
-
下载依赖
-
pip install djangorestframework-jwt
-
-
配置seetings
-
INSTALLED_APPS
INSTALLED_APPS = [ 'rest_framework.authtoken', ]
-
REST_FRAMEWORK
REST_FRAMEWORK = { # 身份认证 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework_jwt.authentication.JSONWebTokenAuthentication', 'rest_framework.authentication.SessionAuthentication', 'rest_framework.authentication.BasicAuthentication', ), # 全局配置JWT验证设置 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated', ), }
-
JWT_AUTH
JWT_AUTH = { 'JWT_AUTH_HEADER_PREFIX': 'JWT', 'JWT_EXPIRATION_DELTA': datetime.timedelta(days=1), 'JWT_RESPONSE_PAYLOAD_HANDLER': 'jwtuserapp.views.jwt_response_payload_handler', # 重新login登录返回函数 }
-
-
写注册生成token的代码
-
使用django的用户模型类
-
密码要密文
-
生成token并返回到前端
-
-
登陆生成token的代码
-
url里导包,并指定url
-
view里写返回的数据有那些
-
seetings里配置并告知django
-
-
权限的分离
-
导包(from rest_framework.permissions import IsAuthenticated, AllowAny)
-
APIview里设置permission_classes
-