无法在 Django 中导入名称 'login'
Cannot import name 'login' in Django
我目前正在使用 Django 开发一个项目...我正在尝试从 django.contrib.auth.views
导入 login
但出现以下错误:
ImportError: cannot import name 'login'
这是我的 urls.py
:
from django.conf.urls import url
from . import views
from django.contrib.auth.views import login
urlpatterns = [
url('', views.home),
url('login', login, {'template_name': 'accounts/login.html'})
]
错误信息(cmd):
ImportError: cannot import name 'login'
旧的基于功能的认证视图,包括login
、were removed in Django 2.1. In Django 1.11+ you should switch to the new class-based authentication views, including LoginView
。
我建议您也改用新的 path()
而不是 url()
。
from django.urls import path
from django.contrib.auth import views as auth_views
urlpatterns = [
path('', views.home),
path('login', auth_views.LoginView.as_view(template_name='accounts/login.html')),
]
如果您想坚持使用 url()
或 re_path()
,请确保使用 ^
和 $
开始和结束您的正则表达式:
url(r'^$', views.home),
url(r'^login$', auth_views.LoginView.as_view(template_name='accounts/login.html')))
我目前正在使用 Django 开发一个项目...我正在尝试从 django.contrib.auth.views
导入 login
但出现以下错误:
ImportError: cannot import name 'login'
这是我的 urls.py
:
from django.conf.urls import url
from . import views
from django.contrib.auth.views import login
urlpatterns = [
url('', views.home),
url('login', login, {'template_name': 'accounts/login.html'})
]
错误信息(cmd):
ImportError: cannot import name 'login'
旧的基于功能的认证视图,包括login
、were removed in Django 2.1. In Django 1.11+ you should switch to the new class-based authentication views, including LoginView
。
我建议您也改用新的 path()
而不是 url()
。
from django.urls import path
from django.contrib.auth import views as auth_views
urlpatterns = [
path('', views.home),
path('login', auth_views.LoginView.as_view(template_name='accounts/login.html')),
]
如果您想坚持使用 url()
或 re_path()
,请确保使用 ^
和 $
开始和结束您的正则表达式:
url(r'^$', views.home),
url(r'^login$', auth_views.LoginView.as_view(template_name='accounts/login.html')))