django 2.1 from django.contrib.auth.views import login

사용자를 등록하는 과정에서 보기에서 아래의 코드를 학습한다
from django.contrib.auth.views import login

django 서비스를 시작할 때 오류 보고:
ImportError: cannot import name 'login' from 'django.contrib.auth.views'

... 로 바꾸다
from django.contrib.auth import login

django 서비스가 정상적으로 시작되었지만login 링크를 눌렀을 때 다음과 같은 오류가 발생했습니다
TypeError at /users/login/
login() got an unexpected keyword argument 'template_name'
Request Method:	GET
Request URL:	http://127.0.0.1:8000/users/login/
Django Version:	2.1.4
Exception Type:	TypeError
Exception Value:	
login() got an unexpected keyword argument 'template_name'

다방면으로 찾아보니 해결 방법은 다음과 같다.
from django.contrib.auth.views import LoginView
from . import views

app_name = 'users'
 
urlpatterns = [
	#    
	#url(r'^login/$', login, {'template_name': 'users/login.html'}, name = 'login'),
	url(r'^login/$', LoginView.as_view(template_name='users/login.html'), name="login"),
]

좋은 웹페이지 즐겨찾기