【Django】取得ドメインでのhttps対応後に管理画面ログインやPOST処理でCSRF(403)エラー時の対応

カテゴリ:Django 投稿:2022年6月1日0:26、更新:2022年6月11日23:28

・記事の概要 

Djangoアプリをhttps対応させようとしてCSRF/アクセス禁止(403)エラーが発生してしまった場合の解消手順を記載します。


・この記事の対象 

Djangoでアプリケーションを作成し、サーバに公開している方。

ドメインを取得しhttps対応もしたが、管理画面ログインやPOST処理でCSRF/アクセス禁止(403)エラーが出る方。

formタグには{% csrf_token %}を入れているのに発生してしまっている方。


・この記事でできるようになること 

管理画面ログインやPOST処理で発生しているCSRF(403)エラーを解消し正常に動作するようになります。


・実際の手順 

①setting.pyの追記

settings.pyCSRF_TRUSTED_ORIGINSを追記して対応します。

CSRF_TRUSTED_ORIGINS = ['https://xxxxx.com']

#xxxxx.comはそれぞれの取得ドメインを記載ください


②デプロイし再度アクセス

デプロイ後にまずはadmin管理画面ログインで解消を確認ください。

その後はPOST処理もそれぞれ確認してみましょう。


・まとめ 

いかがだったでしょうか。

実際に私もこの事象に遭遇した際に即時解決できなかったので今回はまとめてみました。

Django4.0以降のバージョンで発生する事象で、ローカルだと発生しないので、こういったものは都度対応が必要になりますね。


コメント一覧

コメント投稿ページへ


書いている人

のぎ
PG->SE->PMとして働き、現在はIT企業で新卒採用の担当をしています。長期育休取得明けで0歳娘の対応に毎日バタバタです。笑
採用業務をしつつ社内利用ツールなど作成しており、当ブログも勉強の一環でコーディングして作成しています。 エンジニア領域、人事・採用領域、育児関連など発信していきます。