DjangoのPOSTでアクセス禁止(403)エラーが出た場合の対応方法をご紹介します。
目次
条件
- Django 5.0.1
事象
ドメインを設定したDjangoアプリでPostを実行したところ以下のようなエラーが発生しました。
対応
setting.pyの編集
「ALLOWED_HOSTS」および「CSRF_TRUSTED_ORIGINS」に対象のドメインを記述します。
例)設定したサイトのドメインが「fuga.hogehoge.com」(hogehoge.comのサブドメイン)の場合、以下のように記述します。
setting.py
ALLOWED_HOSTS = ['XXX.XXX.XXX.XXX','fuga.hogehoge.com'] CSRF_TRUSTED_ORIGINS = ['https://*.hogehoge.com','http://*.hogehoge.com']
その後、djangoアプリを再起動します。
以上の対応で当該エラーは解消しました。
参考
django:SRF_TRUSTED_ORIGINS
https://docs.djangoproject.com/en/5.0/ref/settings/#csrf-trusted-origins