python 关于django 2.X 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"),
]

扫描二维码关注公众号,回复: 5924927 查看本文章

猜你喜欢

转载自www.cnblogs.com/dingjiaoyang/p/10725227.html