web-dev-qa-db-ja.com

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

python env with 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

環境を再インストールしてpythonバージョンを変更してみましたが、まだ問題が発生しています。

ご質問ありがとうございます

8
MenoTx

不正なDjangoバージョンを使用しているようです。現在のDjangoバージョンではDjango.contrib.auth.views.logoutを使用できません。Djangoバージョンをダウングレードしてみてくださいこのコマンドで下位バージョン:Sudo pip install Django==2.0.2またはlogout_viewを使用するためにインポートを変更

3
Juanse
ImportError: cannot import name 'login' from 'Django.contrib.auth.views'

このエラーが発生し、解決策を探しましたが、ここで見つかりました。 インポートからビューを削除

Python 3.7およびDjango 2.2で動作します。Django 2.0.4にダウングレードする必要はありません2.2)

エラーの原因となったのはこの1つでした。

from Django.contrib.auth.views import login

に変更する必要がありました

from Django.contrib.auth import login

ログアウトのためにも働いた。

15

これはDjango 2.xdocs

from Django.contrib.auth import logout

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

これは、ログインを機能させるために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!

0
jxmorris12