来自django.contrib.auth.views的Python导入logout ImportError:无法导入名称'logout'

问题描述 投票:3回答:4

我已经使用python 3.5配置了我的python env,但是当我使用命令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版本,但问题仍然发生。

谢谢你的问题

python django logout
4个回答
2
投票

嘿看起来你使用的是错误的django版本,django.contrib.auth.views.logout在你当前的django版本中不可用,尝试使用此命令将django版本降级为较低版本:sudo pip install Django==2.0.2或更改导入以使用logout_view


2
投票
ImportError: cannot import name 'login' from 'django.contrib.auth.views'

我有这个错误,并在这里找到了解决方案。 Remove views from import

适用于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

也致力于退出。


1
投票

这是为django 2.xdocs

from django.contrib.auth import logout

def logout_view(request):
    logout(request)
    # Redirect to a success page.

0
投票

这是我添加到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!

© www.soinside.com 2019 - 2024. All rights reserved.