Menu
CoddyTech

تسجيل الدخول

جزء من قسم المستخدمون والحسابات في رحلة Django على Coddy. الدرس 2 من 16.

يمكن للموقع معرفة من سجّل الدخول، لكن لا توجد فيه صفحة لتسجيل الدخول. لدى Django العرض LoginView. يضيفه سطر واحد في urls.py الخاص بالمشروع، مع صفحات تسجيل الخروج وكلمة المرور:

path("accounts/", include("django.contrib.auth.urls")),

الآن أصبح /accounts/login/ موجودًا، واسمه login. يعرض العرض registration/login.html مع form يحتوي على حقلَي username وpassword. هذا القالب من مسؤوليتك: نموذج POST عادي. يبحث Django في المجلد templates/ لكل تطبيق. يبدأ المسار بـ registration/، وليس notes/، لأن عرض Django لا يعرف تطبيقك.

بعد تسجيل دخول ناجح، يعيد العرض التوجيه إلى LOGIN_REDIRECT_URL. القيمة الافتراضية، /accounts/profile/، غير موجودة هنا، لذا عيّنها في settings.py.

challenge icon

التحدي

سهل

أضف صفحة لتسجيل الدخول.

  1. في mysite/urls.py، أدرج django.contrib.auth.urls ضمن accounts/.
  2. أنشئ notes/templates/registration/login.html ممتدًا من notes/base.html، يعرض form داخل نموذج POST مع {% csrf_token %} وزر Log in.
  3. في settings.py، عيّن LOGIN_REDIRECT_URL إلى "/".
  4. في base.html، أضف للزوار غير المسجلين رابطًا باسم Log in يشير إلى {% url 'login' %}.

سجّل الدخول باسم ada (كلمة المرور coddy-pass-123): سيظهر في الترويسة «تم تسجيل الدخول باسم ada».

جرّب بنفسك

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path("admin/", admin.site.urls),
    path("", include("notes.urls")),
]

جميع دروس المستخدمون والحسابات

تدرّب بنفسك: Playground لـ Django