نموذج User و authenticate()
التحقق من بيانات الاعتماد باستخدام المستخدم المدمج
نموذج User و authenticate() درس مجاني في Django Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Django Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Django Academy 4 دروس في المجموع.
لديك مستخدمون بالفعل
يوفر Django نموذج User متكاملًا جاهزًا، لذلك لن تضطر إلى كتابة جداول الحسابات يدويًا. وهو يخزّن أسماء المستخدمين وكلمات المرور المُجزّأة وغير ذلك. 👤
مكان وجود User
يوجد النموذج في django.contrib.auth، وهو تطبيق مفعّل في المشاريع الجديدة. استورده لتحصل على مجموعة أدوات المصادقة كاملة.
from django.contrib.auth.models import Userحقول User الأساسية
يمتلك كل مستخدم username، بالإضافة إلى email وfirst_name وlast_name. وهذه هي الحقول اليومية التي تقرؤها وتعرضها في تطبيقك.
كلمات المرور ليست نصوصًا صريحة أبدًا
يخزّن Django hash مملحًا لكل كلمة مرور، وليس النص الأصلي مطلقًا. وحتى أنت، بصفتك المطوّر، لا يمكنك قراءة كلمة مرور المستخدم الفعلية. 🔒
إنشاء User بأمان
استخدم create_user حتى تُجزّأ كلمة المرور نيابةً عنك. أما ضبط كلمة المرور يدويًا فسيخزّنها بنصها الصريح.
User.objects.create_user(username="ada", password="secret123")تعرّف إلى authenticate()
تتحقق الدالة authenticate() من اسم المستخدم وكلمة المرور مقابل قاعدة البيانات نيابةً عنك. وهي جوهر كل تدفق لتسجيل الدخول.
from django.contrib.auth import authenticateكيف تعمل authenticate()
مرّر إليها بيانات الاعتماد، وستُرجع كائن user المطابق عندما تكون صحيحة. ولن تحتاج إلى كتابة التجزئة أو عمليات البحث بنفسك.
user = authenticate(username="ada", password="secret123")عند فشل بيانات الاعتماد
إذا كان اسم المستخدم أو كلمة المرور غير صحيح، تُرجع authenticate() القيمة None. تحقّق دائمًا من ذلك قبل اعتبار المستخدم مسجّل الدخول.
if user is None:
print("Invalid credentials")المستخدمون النشطون فقط
يتيح لك العلم is_active تعطيل الحسابات. ويرفض authenticate() افتراضيًا إرجاع المستخدمين غير النشطين، مما يمنع تسجيل الدخول للحسابات المحظورة.
الموظفون والمستخدمون ذوو الصلاحيات الفائقة
هناك علامتان إضافيتان مهمتان: تمنح is_staff الوصول إلى موقع الإدارة، بينما تمنح is_superuser جميع الصلاحيات. ولا يمتلك معظم المستخدمين أيًا منهما.
المصادقة ليست تسجيل الدخول
تذكّر: تتحقق authenticate() من الهوية فقط. فهي لا تبدأ جلسة، لذلك لا يكون المستخدم قد سجّل الدخول بعد هذا الاستدعاء.
تحقق سريع
ماذا تُرجع authenticate() عندما تكون كلمة المرور غير صحيحة؟
مراجعة: المستخدمون والهوية
تعرّفت إلى نموذج User المضمّن في Django، واستخدمت authenticate() للتحقق من بيانات الاعتماد. تبقى كلمات المرور مجزّأة، ويُرجع التحقق الفاشل القيمة None. ✅
تعلم Python مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 30
- الدروس
- 120
الأسئلة الشائعة
هل درس «نموذج User و authenticate()» مجاني؟
نعم — نص درس «نموذج User و authenticate()» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Django Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Django Academy 4 دروس في المجموع.
ماذا ستتعلم في «نموذج User و authenticate()»؟
التحقق من بيانات الاعتماد باستخدام المستخدم المدمج تتمرن على Django Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Django Academy؟
لا تُشترط خبرة سابقة. Django Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «نموذج User و authenticate()»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Django Academy هذا؟
نعم. كل درس في Django Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- نموذج User و authenticate()
- login و logout وعروض المصادقة
- التسجيل باستخدام UserCreationForm
- login_required وحماية العروض