티스토리 뷰

사용자 로그인

mysite > urls.py에서 장고걸스에 나온대로 입력시 url(…)를 path(…) 바꾸고 형식대로 쓰면 AttributeError: module 'django.contrib.auth.views' has no attribute 'login'라는 에러가 나온다.

 

이때

from django.contrib.auth import views

from django.contrib.auth import views as auth_views

로 alias를 먼저 주자

 

그리고 auth_views.loginauth_views.LoginView

auth_views.logoutauth_views.LogoutView 바꾸자

 

https://stackoverflow.com/questions/47065438/attributeerror-module-django-contrib-auth-views-has-no-attribute

참고해도 좋다.

 

url.py인 아래 코드를 참고하라.

from django.contrib import admin
from django.contrib.auth import views as auth_views
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('accounts/login/', auth_views.LoginView.as_view(), name='login'),
    path('accounts/logout/', auth_views .LogoutView.as_view(next_page='/'), name='logout'),
    path('', include('blog.urls')),
]

from django.contrib.auth import views만 하면 에러가 날 수 있는데, Django auth 안에 있는 LoginView, LogoutView를 사용하려면

from django.contrib.auth import views as auth_views

를 추가해야 하기 때문이다.

 

폴더의 views.py 충돌하지 않게 as auth_views로 alias를 붙이자.

 

auth_views에 관한 정보는 아래 블로그를 참고했다.

 

https://roseline124.github.io/django/2019/04/03/pickmeal-loginview.html

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함