怎么在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软件,测试项目:

怎么在Django项目中使用JWT

第一步测试成功,能得到token

接着使用token

怎么在Django项目中使用JWT

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注恰卡编程网行业资讯频道,感谢您对恰卡编程网的支持。

发布于 2021-03-24 01:22:10
收藏
分享
海报
0 条评论
174
上一篇:optimization怎么在webpack4中使用 下一篇:怎么在Vue项目中使用matomo统计访问流量
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码