• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
皎陽
博客园    首页    新随笔    联系   管理    订阅  订阅

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"),
]

posted @ 2019-04-17 18:02  皎陽  阅读(2950)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3