怎么在Django项目中使用JWT
怎么在Django项目中使用JWT?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
1.requiremwnts:
Django版本:2.2
python版本:3.6
djangorestframework版本:3.1
djangorestframework-jwt版本:1.11
MySQL版本:5.7
注意:使用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', ) } importdatetime JWT_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)安装相关的依赖包:
pipinstalldjangorestframework-jwt
pipinstalldjangorestframeworkmarkdownDjango-filter
8)在django_jwt/urls.py配置相关的路由:
fromdjango.contribimportadmin fromdjango.urlsimportpath,include fromdjango_restframework_jwt.viewsimportIndexView urlpatterns=[ 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写一个测试的视图:
fromdjango.shortcutsimportrender,HttpResponse fromrest_framework.viewsimportAPIView classIndexView(APIView): """ 首页 """ defget(self,request): returnHttpResponse('首页')
10)新建django_restframework_jwt/urls.py文件,修改成下面的代码:
fromdjango.urlsimportpath fromrest_framework_jwt.viewsimportobtain_jwt_token app_name='jwt' urlpatterns=[ path('jwt_token_auth/',obtain_jwt_token), ]
11)执行下面两句命令:
pythonmanage.pymakemigrations
pythonmanage.pymigrate
在数据库中创建相应的表。
12)创建一个超级用户,用来测试token
pythonmanage.pycreatesuperuser
13)运行项目,打开Postman软件,测试项目:
第一步测试成功,能得到token
接着使用token
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注恰卡编程网行业资讯频道,感谢您对恰卡编程网的支持。
推荐阅读
-
浅析Django接口版本控制
-
Django+Celery实现定时任务的示例
-
Python(django中如何使用restful框架)
-
Django实现drf搜索过滤和排序过滤
-
Django中怎么将ValuesQuerySet转换成json
今天就跟大家聊聊有关Django中怎么将ValuesQuerySet转换成json,可能很多人都不太了解,为了让大家更加了解,小编...
-
Django分页器的使用方法
这篇文章主要介绍了Django分页器的使用方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面...
-
Python Django搭建文件下载服务器的实现shili
-
在Django中如何使用MQTT的方法
这篇文章主要介绍了在Django中如何使用MQTT的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有...
-
Django开发RESTful API怎么实现增删改查
-
Django如何显示可视化图表的实践