Djoser ডজ্যাঙ্গোর জন্য একটি সহজ অথেনটিকেশন লাইব্রেরি। এটি অথেনটিকেশনের জন্য টোকেন জেনারেট করতে ব্যবহৃত হয়; এই জেনারেট করা টোকেন তিনটি ফিল্ড নেয়: username, email এবং password। এটি শুধু POST রিকোয়েস্টে কাজ করে, কিন্তু আপনি এর ফ্রন্টএন্ড যোগ করতে পারেন।
উদাহরণ
একটি ডজ্যাঙ্গো প্রজেক্ট এবং একটি অ্যাপ তৈরি করুন। আমি এদের নাম দিয়েছি "DjoserExample" এবং "myapp"।
দুটি প্যাকেজ ইনস্টল করুন:
pip install djoser pip install djangorestframework
settings.py-তে নিচের লাইনগুলো যোগ করুন:
INSTALLED_APPS = [
# অন্যান্য অ্যাপের নিচে
'myapp',
'rest_framework',
'rest_framework.authtoken',
'djoser'
]
# 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-এর জন্য User ID ফিল্ড (অর্থাৎ ইনডেক্স ফিল্ড) যোগ করেছি।
আমরা ডজ্যাঙ্গোর ডিফল্ট User Authentication ডাটাবেস ব্যবহার করছি, তাই আসলে আমাদের কোনো অ্যাপ দরকার নেই।
প্রজেক্টের 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 authentication backend সংজ্ঞায়িত করেছি।
এতটুকু হলে সব কিছু সেট। এখন টার্মিনালে এই কমান্ডগুলো রান করুন এবং আউটপুট চেক করুন:
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 - এ

এখানে ইউজারনেম এবং পাসওয়ার্ড দিয়ে ইউজারের জন্য টোকেন জেনারেট করবেন।