Djoser Django के लिए एक सरल प्रमाणीकरण लाइब्रेरी है। इसका उपयोग प्रमाणीकरण के लिए टोकन उत्पन्न करने के लिए किया जाता है; यह उत्पन्न टोकन तीन फील्ड्स लेकर बनाया जाता है: username, email और password। यह केवल POST अनुरोध पर काम करता है, लेकिन आप इसका फ्रंटएंड जोड़ सकते हैं।
उदाहरण
एक Django प्रोजेक्ट और एक ऐप बनाएं। मैंने उन्हें "DjoserExample" और "myapp" नाम दिया।
दो पैकेज इंस्टॉल करें:
pip install djoser pip install djangorestframework
settings.py में निम्नलिखित लाइनें जोड़ें:
INSTALLED_APPS = [
# अन्य ऐप्स के नीचे
'myapp',
'rest_framework',
'rest_framework.authtoken',
'djoser'
]
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAuthenticated',
]
}
DJOSER = {
"USER_ID_FIELD": "username"
}
यहां हमने djoser और restframework को ऐप के रूप में जोड़ा। फिर हमने REST फ्रेमवर्क का प्रमाणीकरण बैकएंड जोड़ा और djoser के लिए User 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 admin url और फिर 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 पर - यूजरनेम और पासवर्ड प्रदान करके यूजर के लिए टोकन उत्पन्न करें।