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): בכותרת מופיע Signed in as ada.

נסו בעצמכם

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

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

כל השיעורים ביחידה משתמשים וחשבונות

תרגלו בעצמכם: Django אונליין