Djoser là một thư viện xác thực đơn giản cho Django. Nó được sử dụng để tạo mã thông báo để xác thực; mã thông báo đã tạo này được tạo bằng cách lấy ba trường: tên người dùng, email và mật khẩu. Nó chỉ hoạt động theo yêu cầu POST, nhưng bạn có thể thêm giao diện người dùng của nó.
Ví dụ
Tạo một dự án Django và một ứng dụng. Tôi đã đặt tên chúng là "DjoserExample" và "myapp" .
Cài đặt hai gói -
pip install djoser pip install djangorestframework
Trong settings.py, thêm các dòng sau -
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" }
Tại đây, chúng tôi đã thêm djoser và khung làm việc lại như một ứng dụng. Sau đó, chúng tôi đã thêm phần phụ trợ xác thực của khung REST và cho djoser, chúng tôi đã thêm User ID trường (tức là trường Chỉ mục).
Chúng tôi đang sử dụng cơ sở dữ liệu xác thực người dùng mặc định của Django, vì vậy chúng tôi thực sự không cần ứng dụng.
Truy cập urls.py của dự án và thêm các dòng sau -
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')) ]
Ở đây chúng tôi đã xác định url quản trị djoser rồi đến chương trình phụ trợ xác thực djoser.
Với điều đó, mọi thứ đã được thiết lập. Bây giờ hãy chạy các lệnh này trên thiết bị đầu cuối và kiểm tra kết quả -
python manage.py makemigrations python manage.py migrate python manage.py runserver
Đầu ra
Trên https://127.0.0.1:8000/api/v1/users/ -
Tại đây, bạn sẽ tạo người dùng.
Trên https://127.0.0.1:8000/api/v1/token/login -
Tại đây, bạn sẽ tạo mã thông báo cho người dùng bằng cách cung cấp tên người dùng và mật khẩu.