Django CSRF_TRUSTED_ORIGINS не работает как ожидалось

У меня проблемы с пониманием того, почему сообщение со стороннего сайта отклоняется, хотя сайт добавлен в список CSRF_TRUSTED_ORIGINS в settings.py. Я получаю 403 ошибку после сообщения, в которой говорится, что проверка csrf не прошла. Я думал, что добавление сайта в CSRF_TRUSTED_ORIGINS должно освободить сайт от проверки csrf. Есть ли что-то еще, что я должен был сделать, чтобы получать запросы на почту от внешних источников? Я использую django 3.2

CSRF_TRUSTED_ORIGINS = ['site.lv']

заголовки запроса:

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,lv;q=0.8,ru;q=0.7
Cache-Control: no-cache
Connection: keep-alive
Content-Length: 899
Content-Type: application/x-www-form-urlencoded
Host: cvcentrs-staging.herokuapp.com
Origin: https://www.site.lv
Pragma: no-cache
Referer: https://www.site.lv/
sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="96", "Microsoft Edge";v="96"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62

Это предположение неверно:

Я думал, что добавление сайта в CSRF_TRUSTED_ORIGINS должно сделать сайт свободным от csrf проверок.

Добавление URL в CSRF_TRUSTED_ORIGINS - это только одна вещь, которую вам нужно сделать, чтобы разрешить POST-запрос от формы на внешнем домене. Вам также необходимо:

  • Сделайте AJAX-вызов с внешней страницы, чтобы получить csrf_token, и отправьте токен вместе с POST-запросом.
  • Настройте CORS (см. эту статью для примера: https://www.stackhawk.com/blog/django-cors-guide/).

Начиная с Django 4.0, вы должны включить схему в CSRF_TRUSTED_ORIGINS:

CSRF_TRUSTED_ORIGINS = ['https://site.lv', 'https://www.site.lv']
Вернуться на верх