Вход в систему
Часть раздела Пользователи и учетные записи путешествия по 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/ каждого приложения. В его имени нет названия приложения, потому что представление 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 с кнопкойLog in. - После успешного входа пользователь попадает на
/. - Под сообщением
You are not signed in.разместите ссылкуLog in.
Нажмите «Запустить», затем войдите как ada (пароль coddy-pass-123).
Попробуйте сами
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path("admin/", admin.site.urls),
path("", include("notes.urls")),
]
Все уроки раздела Пользователи и учетные записи
3Ваши собственные данные
У заметки есть владелецТолько мои заметкиПотренируйтесь самостоятельно: Песочница Django