怎么在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管理。py startapp django_restframework_jwt新建一个名为django_restframework_jwt的应用

3)在设置。py加入注册代码:

INSTALLED_APPS =, (   & # 39;才能django.contrib.admin& # 39;   & # 39;才能django.contrib.auth& # 39;   & # 39;才能django.contrib.contenttypes& # 39;   & # 39;才能django.contrib.sessions& # 39;   & # 39;才能django.contrib.messages& # 39;   & # 39;才能django.contrib.staticfiles& # 39;      #才能,新添加   & # 39;才能django_restframework_jwt& # 39;   & # 39;才能rest_framework& # 39;   )

4)在设置。py中追加配置相关文件:

REST_FRAMEWORK =, {   & # 39;才能DEFAULT_PERMISSION_CLASSES& # 39;:, (   ,,,& # 39;rest_framework.permissions.IsAuthenticated& # 39;,, #必须有   ),才能   & # 39;才能DEFAULT_AUTHENTICATION_CLASSES& # 39;:, (   ,,,& # 39;rest_framework_jwt.authentication.JSONWebTokenAuthentication& # 39;   ,,)   }   import  datetime   JWT_AUTH =, {   ,#指明牌的有效期   ,& # 39;JWT_EXPIRATION_DELTA& # 39;:, datetime.timedelta(天=1),   }

5)设置。py中修改数据库相关配置:

DATABASES =, {   & # 39;才能默认# 39;:,{   ,,,& # 39;引擎# 39;:,& # 39;django.db.backends.mysql& # 39;,, #,数据库的类别   ,,,& # 39;名字# 39;:,& # 39;测试# 39;,,#,数据库的名字   ,,,& # 39;主机# 39;:,& # 39;127.0.0.1 # 39;,,#,数据库的ip   ,,,& # 39;用户# 39;:,& # 39;根# 39;,,#,用户名   ,,,& # 39;密码# 39;:,& # 39;5201314 & # 39;,,#,密码   ,,,& # 39;港口# 39;:,& # 39;3307 & # 39;   ,,}   }

6)在自己的本地数据库中新建一个叫测试的数据库;

7)安装相关的依赖包:

pip  install  djangorestframework-jwt pip  install  djangorestframework  markdown  Django-filter

8)在django_jwt/url。py配置相关的路由:

得到django.contrib  import 管理   得到django.urls  import 路径,包括   得到django_restframework_jwt.views  import  IndexView      urlpatterns =, (   路径才能(& # 39;管理/& # 39;,,admin.site.urls),   路径才能(& # 39;jwt/& # 39;,,包括(& # 39;django_restframework_jwt.urls& # 39;)),   路径才能(& # 39;索引/& # 39;,,IndexView.as_view (),, name=& # 39;指数# 39;),   )

9)在django_restframework_jwt/观点。py写一个测试的视图:

得到django.shortcuts  import 渲染,HttpResponse   得到rest_framework.views  import  APIView         class  IndexView (APIView):   “才能”;“   首才能页   “才能”;“      def 才能得到(自我,,请求):   ,,,return  HttpResponse(& # 39;首页& # 39;)

10)新建django_restframework_jwt/url。py文件,修改成下面的代码:

得到django.urls  import 路径   得到rest_framework_jwt.views  import  obtain_jwt_token      时间=app_name  & # 39; jwt # 39;   urlpatterns =, (   路径才能(& # 39;jwt_token_auth/& # 39;,, obtain_jwt_token),      )

11)执行下面两句命令:

python  manage.py  makemigrations python  manage.py 迁移

在数据库中创建相应的表。

12)创建一个超级用户,用来测试标记

python  manage.py  createsuperuser

13)运行项目,打开邮差软件,测试项目:

怎么在Django项目中使用JWT

第一步测试成功,能得到令牌

接着使用标记

怎么在Django项目中使用JWT

怎么在Django项目中使用JWT