로그인하기
Coddy Django 여정의 사용자와 계정 섹션에 포함된 레슨. 16개 중 2번째.
사이트는 누가 로그인했는지 알 수 있지만, 로그인할 페이지는 없습니다. Django에는 뷰인 LoginView가 있습니다. 프로젝트의 urls.py에 한 줄을 추가하면 로그아웃 및 비밀번호 페이지와 함께 이 뷰를 사용할 수 있습니다.
path("accounts/", include("django.contrib.auth.urls")),이제 /accounts/login/이 login이라는 이름으로 존재합니다. 이 뷰는 username 및 password 필드가 있는 form과 함께 registration/login.html을 렌더링합니다. 이 템플릿은 직접 작성하면 됩니다. 일반적인 POST 양식입니다. Django는 모든 앱의 templates/ 폴더에서 템플릿을 찾으며, 이름에 앱이 포함되지 않습니다. Django의 뷰는 어떤 앱이 있는지 모르기 때문입니다.
로그인에 성공하면 뷰는 LOGIN_REDIRECT_URL로 리디렉션합니다. 기본값인 /accounts/profile/은 여기에는 없으므로 settings.py에서 설정하세요.
챌린지
쉬움mysite/urls.py에서accounts/아래에django.contrib.auth.urls를 포함합니다.notes/templates/registration/login.html을 만듭니다. 이 파일은notes/base.html을 확장하고Log in버튼이 있는 POST 폼에form을 표시합니다.- 로그인에 성공하면
/로 이동합니다. You are not signed in.아래에Log in링크를 추가합니다.
Run을 누른 다음 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")),
]
사용자와 계정의 모든 레슨
직접 연습해 보세요: Django 플레이그라운드