我已经使用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版本,但问题仍然发生。
谢谢你的问题
嘿看起来你使用的是错误的django版本,django.contrib.auth.views.logout
在你当前的django版本中不可用,尝试使用此命令将django版本降级为较低版本:sudo pip install Django==2.0.2
或更改导入以使用logout_view
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
也致力于退出。
这是为django 2.x
,docs
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!