Django

⌘K
  1. Home
  2. Django
  3. Django তে কিভাবে কাজ করতে...
  4. Authentication all auth
  5. ৭. ১ api/auth/registration/

৭. ১ api/auth/registration/

/api/auth/registration/ হচ্ছে dj-rest-auth লাইব্রেরির একটি URL endpoint যা নতুন ব্যবহারকারীদের রেজিস্ট্রেশন করার জন্য ব্যবহৃত হয়। এই endpoint এর মাধ্যমে নতুন ব্যবহারকারী রেজিস্ট্রেশন করতে পারে এবং সাধারণত এটি ব্যবহারকারীর নাম, পাসওয়ার্ড, এবং ইমেইল নিয়ে কাজ করে।

/api/auth/registration/ কীভাবে কাজ করে?

  1. ব্যবহারকারী তথ্য জমা দেয়: ব্যবহারকারী একটি POST অনুরোধ পাঠায় এই endpoint এ, যেখানে সাধারণত ইমেইল, পাসওয়ার্ড এবং প্রয়োজনীয় অন্যান্য তথ্য থাকে।
  2. ব্যবহারকারী তৈরি করা হয়: অনুরোধে দেওয়া তথ্য যদি সঠিক হয়, তাহলে ব্যবহারকারী তৈরি হয় এবং ডাটাবেজে সংরক্ষিত হয়।
  3. ইমেইল যাচাইকরণ (ডিফল্ট): ডিফল্টভাবে, ইমেইল যাচাইকরণ প্রয়োজন হতে পারে। রেজিস্ট্রেশনের পর ব্যবহারকারীকে একটি যাচাইকরণ ইমেইল পাঠানো হয়, যা ব্যবহারকারীকে তাদের ইমেইল ঠিকানাটি নিশ্চিত করতে বলে।

/api/auth/registration/ এর জন্য ইমেইল ব্যাকএন্ড সেটআপ

ইমেইল যাচাইকরণ বা পাসওয়ার্ড রিসেট এর মত ফিচারগুলো সঠিকভাবে কাজ করতে হলে Django প্রকল্পে একটি ইমেইল ব্যাকএন্ড সেটআপ করতে হবে। নিচে কিভাবে ইমেইল ব্যাকএন্ড সেটআপ করতে হয় তা দেওয়া হলো:

ধাপ ১: settings.py ফাইলে ইমেইল ব্যাকএন্ড সেটআপ করুন

আপনি উন্নয়ন (development) পরিবেশে ইমেইল ব্যাকএন্ডকে console এ দেখানোর জন্য নিচের মত সেটআপ করতে পারেন:

# settings.py

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

বিঃ দ্রঃ এই সেটআপে ইমেইল গুলো Django এর কনসোলে প্রিন্ট হবে, যা শুধুমাত্র উন্নয়ন পরিবেশে ব্যবহার করা উচিত। প্রোডাকশন পরিবেশে একটি SMTP ব্যাকএন্ড ব্যবহার করতে হবে।

ধাপ ২: প্রোডাকশনে SMTP ব্যাকএন্ড সেটআপ (যদি প্রয়োজন হয়)

যদি প্রকৃত ইমেইল পাঠানোর প্রয়োজন হয়, তবে SMTP ব্যাকএন্ড ব্যবহার করতে হবে:

# settings.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.your-email-provider.com'
EMAIL_PORT = 587  # সাধারণত 587 বা 465 পোর্ট ব্যবহৃত হয়
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'your-email@example.com'
EMAIL_HOST_PASSWORD = 'your-email-password'

নিরাপত্তা টিপস: প্রকৃত ইমেইল ইউজারনেম এবং পাসওয়ার্ড কখনোই সরাসরি কোডে রাখবেন না। এর পরিবর্তে, সেগুলো পরিবেশ ভেরিয়েবলের মাধ্যমে সেট করুন।


/api/auth/registration/ এর জন্য বাংলা টিউটোরিয়াল

১. রেজিস্ট্রেশন এন্ডপয়েন্ট তৈরি প্রথমে নিশ্চিত হোন যে আপনার dj-rest-auth এবং allauth সঠিকভাবে সেটআপ করা আছে। dj-rest-auth ব্যবহারকারীদের রেজিস্ট্রেশন, লগইন এবং পাসওয়ার্ড রিসেটের মত সুবিধা দেয়।

কোডের উদাহরণ:

# urls.py
from django.urls import path, include

urlpatterns = [
    path('api/auth/', include('dj_rest_auth.urls')),  # dj-rest-auth এর সকল URL
    path('api/auth/registration/', include('dj_rest_auth.registration.urls')),  # রেজিস্ট্রেশন URL
]

২. রেজিস্ট্রেশন ফর্ম ফ্রন্টেন্ড থেকে পাঠানো আপনি POST অনুরোধ দিয়ে /api/auth/registration/ এ রেজিস্ট্রেশন করতে পারেন। অনুরোধটি হবে:

  • URL: /api/auth/registration/
  • মেথড: POST
  • ডেটা (JSON):jsonCopy code
{
  "username": "new_user",
  "email": "new_user@example.com",
  "password1": "YourStrongPassword123",
  "password2": "YourStrongPassword123"
}

৩. সফল রেজিস্ট্রেশন যদি সব ঠিক থাকে, তাহলে ব্যবহারকারী সফলভাবে রেজিস্টার হবে এবং একটি ইমেইল যাচাইকরণ লিংক (যদি ইমেইল যাচাইকরণ চালু থাকে) পাঠানো হবে।


ইমেইল যাচাইকরণ বন্ধ করার পদ্ধতি

উন্নয়ন পর্যায়ে ইমেইল যাচাইকরণ বন্ধ করতে পারেন:

# settings.py
ACCOUNT_EMAIL_VERIFICATION = 'none'
ACCOUNT_EMAIL_REQUIRED = False

বিঃ দ্রঃ প্রোডাকশনে নিরাপত্তার জন্য ইমেইল যাচাইকরণ অবশ্যই চালু রাখুন।

How can we help?