โจเซอร์ เป็นไลบรารีการพิสูจน์ตัวตนอย่างง่ายสำหรับ 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 และ การปรับโครงสร้างใหม่ เป็นแอพ จากนั้นเราได้เพิ่มแบ็กเอนด์การตรวจสอบสิทธิ์ของเฟรมเวิร์ก REST และสำหรับ 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'))
] ที่นี่เรากำหนด URL ผู้ดูแลระบบ djoser แล้วแบ็กเอนด์การตรวจสอบสิทธิ์ 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 -

ที่นี่คุณจะสร้างโทเค็นสำหรับผู้ใช้โดยระบุชื่อผู้ใช้และรหัสผ่าน