一、创建验证user表
from django.db import models
from django.contrib.auth.models import AbstractUser
# Create your models here.
class User(AbstractUser):
mobile = models.CharField(max_length=15, unique=True, verbose_name='手机号码')
# upload_to 表示上传文件的存储子路由,需要在settings配置中,配置上传文件的支持
avatar = models.ImageField(upload_to='avatar', verbose_name='用户头像', null=True, blank=True)
class Meta:
db_table = 'uric_user'
verbose_name = '用户信息'
verbose_name_plural = verbose_name
settings/dev文件添加
AUTH_USER_MODEL = 'user.User'
然后执行表的同步与创建
pip install pillow#一个用于图片处理的插件
python ../../manage.py makemigrations
python ../../manage.py migrate
python ../../manage.py createsuperuser#创建超级用户
如果报错 则可以通过一下方式处理
1、删除数据库#在数据库没有任何有用数据的情况下
2、删除apps下startapp创建的migrations下的0001这类init文件删除
3、环境文件lib>site-packages>django>contrib>amin和auth里的migrations同2的文件删除
再进行执行一般是没有问题的。
二、jwt验证
1、安装
pip install djangorestframework-jwt -i https://mirrors.aliyun.com/pypi/simple/
2、配置文件
REST_FRAMEWORK = { # 异常处理 'EXCEPTION_HANDLER': 'uric_api.utils.exceptions.custom_exception_handler', 'DEFAULT_AUTHENTICATION_CLASSES': # jwt认证 'rest_framework_jwt.authentication.JSONWebTokenAuthentication', } JWT_AUTH = { 'JWT_SECRET_KEY': SECRET_KEY, 'JWT_EXPIRATION_DELTA': datetime.timedelta(seconds=30), 'JWT_ALLOW_REFRESH': True, # 这个参数要改True,才能刷新token }
3、路由文件(提交账号密码,分发token)
from django.urls import path from rest_framework_jwt.views import obtain_jwt_token from . import views urlpatterns = [ path("login", obtain_jwt_token), ]
4、页面展示
小提示:@property表示此方法可以直接调用不用通过加()的方式进行传参调用