התחברות
חלק מהיחידה משתמשים וחשבונות במסלול ה-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.
אתגר
קלהוסף דף התחברות.
- ב־
mysite/urls.py, כלול אתdjango.contrib.auth.urlsתחתaccounts/. - צור את
notes/templates/registration/login.htmlעם הרחבה שלnotes/base.html, שמציג אתformבתוך טופס POST עם{% csrf_token %}וכפתורLog in. - ב־
settings.py, הגדר אתLOGIN_REDIRECT_URLל־"/". - ב־
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 אונליין