[英]Django cannot import login from django.contrib.auth.views
[英]Python from django.contrib.auth.views import logout ImportError: cannot import name 'logout'
我已经使用 python env 配置了 python 3.5,但是当我使用命令python manage.py runserver
运行我的服务器时出现以下错误
from django.contrib.auth.views import logout
ImportError: cannot import name 'logout'
这是我的配置
dj-database-url==0.5.0
Django==2.1a.1
gunicorn==19.8.1
numpy==1.14.3
psycopg2==2.7.4
pytz==2018.4
whitenoise==4.0b4
我尝试重新安装我的环境并更改 python 版本,但问题仍然发生。
谢谢你们的提问
ImportError: cannot import name 'login' from 'django.contrib.auth.views'
我遇到了这个错误,并在此处查找了解决方案。 从导入中删除视图
在 Python 3.7 和 Django 2.2 中为我工作。 无需降级到 Django 2.0.4(因为 LTS 在 2.2 中)
正是这个错误导致了我的错误。
from django.contrib.auth.views import login
不得不把它改成
from django.contrib.auth import login
也用于注销。
嘿,您似乎使用了错误的 django 版本, django.contrib.auth.views.logout
在您当前的 django 版本中不可用,请尝试使用以下命令将您的 django 版本降级到较低版本: sudo pip install Django==2.0.2
或更改导入以使用logout_view
设置.py
LOGIN_REDIRECT_URL = '/'
LOGOUT_REDIRECT_URL = '/'
网址.py
from django.conf.urls import url
from django.contrib.auth.views import LogoutView
urlpatterns = [
url(r'^logout$', LogoutView.as_view(), name='logout'),
]
它在 django 3.0.x 上对我有用
这是用于 django 2.x
, 文档
from django.contrib.auth import logout
def logout_view(request):
logout(request)
# Redirect to a success page.
这是我添加到urls.py
以使登录工作的代码:
def my_logout(request):
logout(request)
return redirect('index')
连同urlpatterns
:
path('logout/', my_logout, name="logout"),
在 Python 2.7、Django 2.1.5 中为我工作!
在最新版本的 Django (django == 3.2.4) 中,导入应如下所示
from django.contrb.auth.views import LogoutView
Pyhton 非常区分大小写……确保您的代码与正确的空格对齐。 我 go 这个错误和 make 在 views.py 中创建的函数没有对齐
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.