时间:2021-05-23
1.requiremwnts:
注意:使用Django 2.1以上的版本,MySQL数据库必须在5.5以上的版本。
2.新建项目
1)使用pycharm新建一个Django项目,我的项目名称叫:django_jwt
2)使用语句 python manage.py startapp django_restframework_jwt新建一个名为django_restframework_jwt的app
3)在settings.py加入注册代码:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # 新添加 'django_restframework_jwt', 'rest_framework',]4)在settings.py中追加配置相关文件:
REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated', #必须有 ), 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework_jwt.authentication.JSONWebTokenAuthentication', )}import datetimeJWT_AUTH = { # 指明token的有效期 'JWT_EXPIRATION_DELTA': datetime.timedelta(days=1),}5)settings.py中修改数据库相关配置:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 数据库的类别 'NAME': 'test', # 数据库的名字 'HOST': '127.0.0.1', # 数据库的ip 'USER': 'root', # 用户名 'PASSWORD': '5201314', # 密码 'PORT': '3307' }}6)在自己的本地数据库中新建一个叫test的数据库;
7)安装相关的依赖包:
pip install djangorestframework-jwtpip install djangorestframework markdown Django-filter8)在django_jwt/urls.py配置相关的路由:
from django.contrib import adminfrom django.urls import path, includefrom django_restframework_jwt.views import IndexViewurlpatterns = [ path('admin/', admin.site.urls), path('jwt/', include('django_restframework_jwt.urls')), path('index/', IndexView.as_view(), name='index'),]9)在django_restframework_jwt/views.py写一个测试的视图:
from django.shortcuts import render, HttpResponsefrom rest_framework.views import APIViewclass IndexView(APIView): """ 首页 """ def get(self, request): return HttpResponse('首页')10)新建django_restframework_jwt/urls.py文件,修改成下面的代码:
from django.urls import pathfrom rest_framework_jwt.views import obtain_jwt_tokenapp_name = 'jwt'urlpatterns = [ path('jwt_token_auth/', obtain_jwt_token),]11)执行下面两句命令:
python manage.py makemigrationspython manage.py migrate在数据库中创建相应的表。
12)创建一个超级用户,用来测试token
python manage.py createsuperuser13)运行项目,打开Postman软件,测试项目:
第一步测试成功,能得到token
接着使用token
token值的前面记得要加入JWT,还要加上一个空格。
能正常进入首页,如果没有在headers加入token,是不能正常访问首页的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
安装pipinstalldjango-crontab在Django项目中使用settings.pyINSTALLED_APPS=('django.contrib
在vue项目中使用codemirror插件实现代码编辑器功能(代码高亮显示及自动提示),具体内容如下所示:1、使用npm安装依赖npminstall--save
java读取resources文件详解及实现代码Java项目中,经常需要将资源文件打包放在项目中,然后在项目中去读取对应的文件。实现代码:Stringstr=R
1简介在之前的文章《Springboot集成SpringSecurity实现JWT认证》讲解了如何在传统的Web项目中整合SpringSecurity和JWT,
javascript过滤数组重复元素的实现方法以下是在网上找的资料,直接在项目中可以使用,大家可以参考下:实现代码:functionfilterArray(re