将项目迁移至django2.X、中间件提示错误为:
エラー:
?:(admin.E408 ')django.contrib.auth.middleware.AuthenticationMiddlewareは、'管理アプリケーションを使用するために、ミドルウェアでなければなりません。
?:(admin.E409「)django.contrib.messages.middleware.MessageMiddlewareは、」管理アプリケーションを使用するために、ミドルウェアでなければなりません。
?:(admin.E410「)django.contrib.sessions.middleware.SessionMiddlewareは、」管理アプリケーションを使用するために、ミドルウェアでなければなりません。
ソリューション:
フォーマットを書くとミドルウェアをすることができ、変数名を変更します。
注:MIDDLEWARE_CLASSESからの変数名は、ミドルウェアになる
以前のプロジェクトでの設定は、ミドルウェアDjangoのデフォルトフォーマットが書き込まれます。
MIDDLEWARE_CLASSES = (
' django.contrib.sessions.middleware.SessionMiddleware ' 、 ' django.middleware.common.CommonMiddleware ' 、' django.middleware.csrf.CsrfViewMiddleware ' 、' django.contrib.auth.middleware.AuthenticationMiddleware ' 、" ジャンゴ。 contrib.auth.middleware.SessionAuthenticationMiddleware ' ' django.contrib.messages.middleware.MessageMiddleware ' ' django.middleware.clickjacking.XFrameOptionsMiddleware ' 'django.middleware.security.SecurityMiddleware " 、)
使用ジャンゴの新バージョン、新しいプロジェクトを作成するためには、フォーマット書かれたミドルウェアなどを↓↓↓:
ミドルウェア= [
' django.middleware.security.SecurityMiddleware ' 、 ' django.contrib.sessions.middleware.SessionMiddleware ' 、' django.middleware.common.CommonMiddleware ' 、' django.middleware.csrf.CsrfViewMiddleware ' 、' django.contrib。 auth.middleware.AuthenticationMiddleware ' ' django.contrib.messages.middleware.MessageMiddleware ' ' django.middleware.clickjacking.XFrameOptionsMiddleware " 、]
私たちは、ミドルウェア書かれたフォーマット変更ジャンゴの新しいバージョンを見ることができます:タプルのリストからの移行をし、ミドルウェア、削除SessionAuthenticationMiddlewareを。
フォーマットを書くとミドルウェアは、この問題を解決することができます変数名を変更します。
通りがあった場合SessionAuthenticationMiddlewareミドルウェア、あなたはコメントアウトすることができます
それ以外の場合はエラー:
AttributeError:モジュールのdjango.contrib.auth.middleware "は何の属性を持っていない「SessionAuthenticationMiddleware」
上記の例外は、次の例外の直接の原因でした。
...
...
...
django.core.exceptions.ImproperlyConfigured:WSGIアプリケーション「yourproject.wsgi.application」をロードできませんでした。モジュールをインポートするエラー。