Skonfigurowałem mój Python Env z Pythonem 3.5, ale otrzymuję następujący błąd, gdy uruchomię serwer za pomocą polecenia {x0}}

from django.contrib.auth.views import logout
ImportError: cannot import name 'logout'

To jest moja konfiguracja

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

Próbowałem ponownie zainstalować mój ENV i zmieniając wersję Pythona, ale wydarzy się.

Dziękujemy za pytania

13
MenoTx 3 czerwiec 2018, 20:36

5 odpowiedzi

Najlepsza odpowiedź

Hej wygląda, jakbyś używał niewłaściwej wersji Django, django.contrib.auth.views.logout nie jest dostępny w bieżącej wersji Django, spróbuj obniżyć wersję Django do dolnej wersji za pomocą tego polecenia: sudo pip install Django==2.0.2 lub zmień import w celu użycia logout_view

2
Juanse 3 czerwiec 2018, 17:41

To jest kod dodany do urls.py, aby uzyskać pracę z logowaniem:

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

Wraz z urlpatterns:

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

Działa dla mnie w Pythonie 2.7, Django 2.1.5!

0
jxmorris12 23 marzec 2019, 20:04

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'),
]

To działa dla mnie na Django 3.0.x

2
Vinh Tuong Luu 10 czerwiec 2020, 00:16

To jest dla Django {X0}}, Dokumenty

from django.contrib.auth import logout

def logout_view(request):
    logout(request)
    # Redirect to a success page.
2
Druta Ruslan 3 czerwiec 2018, 17:39
ImportError: cannot import name 'login' from 'django.contrib.auth.views'

Miałem ten błąd i spojrzałem na rozwiązanie znalezione tutaj. Usuń widoki z importu

Działa dla mnie w Pythonie 3.7 i Django 2.2. Nie ma potrzeby obniżenia do Django 2.0.4 (AS LTS jest w 2,2)

To był ten, który spowodował mi błąd.

from django.contrib.auth.views import login

Musiał go zmienić

from django.contrib.auth import login

Pracował także na wylogowanie.

20
Venkatesh Gotimukul 19 kwiecień 2019, 16:13