Python из django.contrib.auth.views import logout ImportError: невозможно импортировать имя 'logout' - PullRequest
0 голосов
/ 03 июня 2018

Я настроил свой 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, но проблема все еще не устранена.

Спасибо за ваши вопросы, ребята

Ответы [ 4 ]

0 голосов
/ 19 апреля 2019
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

Работал и для выхода из системы.

0 голосов
/ 03 июня 2018

Эй, похоже, вы используете неправильную версию django, django.contrib.auth.views.logout недоступно в вашей текущей версии django, попробуйте понизить версию django до более низкой версии с помощью этой команды: sudo pip install Django==2.0.2 или измените импорт, чтобы использоватьlogout_view

0 голосов
/ 23 марта 2019

Это код, который я добавил к urls.py, чтобы заставить логин работать:

def my_logout(request):
    logout(request)
    return redirect('index')

вместе с urlpatterns:

path('logout/', my_logout, name="logout"),

У меня работает в Python 2.7, Django2.1.5!

0 голосов
/ 03 июня 2018

это для django 2.x, документы

from django.contrib.auth import logout

def logout_view(request):
    logout(request)
    # Redirect to a success page.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...