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バージョンを変更してみましたが、まだ問題が発生しています。
ご質問ありがとうございます
不正なDjangoバージョンを使用しているようです。現在のDjangoバージョンではDjango.contrib.auth.views.logout
を使用できません。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にダウングレードする必要はありません2.2)
エラーの原因となったのはこの1つでした。
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!