在 Django 中使用 djoser 進行無需檢視的 Token 認證
Djoser 是一個用於 Django 的簡單身份驗證庫。它用於生成用於身份驗證的令牌;此生成的令牌是透過獲取三個欄位生成的:使用者名稱、電子郵件和密碼。它僅適用於 POST 請求,但您可以新增其前端。
示例
建立一個 Django 專案和一個應用。我將它們命名為 "DjoserExample" 和 "myapp"。
安裝兩個包 -
pip install djoser pip install djangorestframework
在 settings.py 中,新增以下行 -
INSTALLED_APPS = [
#below every other apps
'myapp',
'rest_framework',
'rest_framework.authtoken',
'djoser'
]
# Below template variable
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAuthenticated',
]
}
DJOSER = {
"USER_ID_FIELD": "username"
}在這裡,我們添加了 djoser 和 restframework 作為應用程式。然後我們添加了 REST framework 的身份驗證後端,並且對於 djoser,我們添加了 使用者 ID 欄位(即索引欄位)。
我們使用 Django 的預設使用者身份驗證資料庫,因此我們實際上不需要應用程式。
轉到專案的 urls.py 並新增以下行 -
from django.contrib import admin
from django.urls import path,include,re_path
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('myapp.urls')),
path(r'api/v1/', include('djoser.urls')),
path(r'api/v1/token/login, include('djoser.urls.authtoken'))
]在這裡,我們定義了 djoser 管理員 url,然後定義 djoser 身份驗證後端。
有了這些,一切都設定好了。現在在終端上執行這些命令並檢查輸出 -
python manage.py makemigrations python manage.py migrate python manage.py runserver
輸出
在 http://127.0.0.1:8000/api/v1/users/ -

在這裡,您將建立使用者。
在 http://127.0.0.1:8000/api/v1/token/login -

在這裡,您將透過提供使用者名稱和密碼為使用者生成令牌。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP