怎么在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',
)
}
import datetime
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)安裝相關的依賴包:
pip install djangorestframework-jwt
pip install djangorestframework markdown Django-filter
8)在django_jwt/urls.py配置相關的路由:
from django.contrib import admin
from django.urls import path, include
from django_restframework_jwt.views import IndexView
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寫一個測試的視圖:
from django.shortcuts import render, HttpResponse
from rest_framework.views import APIView
class IndexView(APIView):
"""
首頁
"""
def get(self, request):
return HttpResponse('首頁')10)新建django_restframework_jwt/urls.py文件,修改成下面的代碼:
from django.urls import path
from rest_framework_jwt.views import obtain_jwt_token
app_name = 'jwt'
urlpatterns = [
path('jwt_token_auth/', obtain_jwt_token),
]11)執行下面兩句命令:
python manage.py makemigrations
python manage.py migrate
在數據庫中創建相應的表。
12)創建一個超級用戶,用來測試token
python manage.py createsuperuser
13)運行項目,打開Postman軟件,測試項目:

第一步測試成功,能得到token
接著使用token

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。