ImportError: cannot import name 'login' from 'django.contrib.auth.views'
Posted wenshuifan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ImportError: cannot import name 'login' from 'django.contrib.auth.views'相关的知识,希望对你有一定的参考价值。
python版本:
Django版本: 3.0.3
报错信息:
File "D:python_worklearning_logusersurls.py", line 4, in <module> from django.contrib.auth.views import login ImportError: cannot import name ‘login‘ from ‘django.contrib.auth.views‘ (D:python_worklearning_logll_envlibsite-packagesdjangocontribauthviews.py)
源代码:
"""为应用程序users定义URL模式""" from django.conf.urls import url from django.contrib.auth.views import login from . import views urlpatterns = [ # 登录页面 url(r‘^login/$‘,login,{‘template_name‘:‘users/login.html‘}, name=‘login‘), ]
原因:
从 django-1.11开始,基于函数的登录,注销等视图已被重写为基于类的视图: LoginView
和 LogoutView
类,如 release notes中所指定的那样.仍然可以使用“旧的”基于函数的视图,但是被标记为已弃用.
在django-2.1中,已删除旧的基于功能的视图,如release notes中所述.
解决办法:
"""为应用程序users定义URL模式""" from django.conf.urls import url from django.contrib.auth.views import LoginView from . import views urlpatterns = [ # 登录页面 url(r‘^login/$‘,LoginView.as_view(template_name=‘users/login.html‘), name=‘login‘), #path(‘login/‘, LoginView.as_view(template_name=‘users/login.html‘), name="login"), ] app_name =‘users‘
以上是关于ImportError: cannot import name 'login' from 'django.contrib.auth.views'的主要内容,如果未能解决你的问题,请参考以下文章
解决 ImportError: cannot import name pywrap_tensorflow
ImportError: cannot import name webdriver
ImportError: cannot import name patterns
window环境下ImportError: cannot import name 'Bar' from 'pyecharts'