Python из django.contrib.auth.views import logout ImportError: невозможно импортировать имя '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
Я попытался переустановить ENV и изменить версию Python, но проблема все еще не устранена.
Спасибо за ваши вопросы, ребята
7 ответов
Эй, похоже, вы используете не ту версию 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'
У меня была эта ошибка, и я нашел решение, найденное здесь. Удалить виды из импорта
У меня работает в 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
Работал для выхода тоже.
Settings .py
LOGIN_REDIRECT_URL = '/'
LOGOUT_REDIRECT_URL = '/'
urls.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
Это для джанго 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 очень чувствителен к регистру... убедитесь, что ваш код содержит правильные пробелы. Я выхожу из этой ошибки и делаю функции, созданные в views.py, не выровненными