โจเซอร์ เป็นไลบรารีการพิสูจน์ตัวตนอย่างง่ายสำหรับ 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
ผลลัพธ์
บน https://127.0.0.1:8000/api/v1/users/ -
ที่นี่คุณจะสร้างผู้ใช้
บน https://127.0.0.1:8000/api/v1/token/login -
ที่นี่คุณจะสร้างโทเค็นสำหรับผู้ใช้โดยระบุชื่อผู้ใช้และรหัสผ่าน