環境
- Python: 3.6
- pipenv: 2018.7.1
- pip: 18.0.0
- Django: 1.11.18, 2.1.4
執筆したきっかけ
- AWS CodeStarが作成するDjangoが1.11.18製だったので,2.x系にアップデートしたかったから
- あくまで備忘録程度です
アップデート後,/adminにアクセスができない
原因を調べると,Python Djangoチュートリアルでadminのページに行けないが参考になりました.
たしかに,公式ドキュメントを見ると,settings.MIDDLEWARE_CLASSESがsettings.MIDDLEWAREに置き換わっていました.また,django.contrib.auth.middleware.SessionAuthenticationMiddlewareも削除してください.
よって,下記のように書き換えると解決します.
settings.py
# MIDDLEWARE_CLASSES = [
# 'django.middleware.security.SecurityMiddleware',
# 'django.contrib.sessions.middleware.SessionMiddleware',
# 'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
# 'django.contrib.auth.middleware.AuthenticationMiddleware',
# 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
# 'django.contrib.messages.middleware.MessageMiddleware',
# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
# ]
MIDDLEWARE = [
'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',
]
参考
Python Djangoチュートリアルでadminのページに行けない
公式ドキュメント
Django 1.9 から 2.1 に上げる時の備忘録