Токен Django csrf не может быть прочитан
Я пишу сайт с Vue в качестве фронтенд-фреймворка и django в качестве бэкенд-фреймворка. Я включил токен csrf в каждый запрос от фронтенда к бэкенду, чтобы убедиться, что я не получу ошибку 403 Forbidden. Все запросы в порядке и функционируют нормально. Теперь вот где все не работает. Я отправил свой код в виде zip-файла другому человеку, чтобы он запустил его. Фронтенд и бэкенд работают без проблем, просто ни один запрос к бэкенду не может быть выполнен. Каждый запрос возвращает ошибку 403 Forbidden, и это связано с тем, что токен csrf не был включен в запрос. имейте в виду, что это тот же самый код, который работает на одном ноутбуке, но не работает на другом. Что я могу сделать, чтобы исправить это?
запрос от фронтенда к бэкенду:
try{
const response = await fetch('http://127.0.0.1:8000/logout', {
method:'POST',
headers:{
'Content-Type': 'application-json',
'X-CSRFToken': Cookies.get('csrftoken'),
} ,
credentials: 'include',
})
Значение токена csrf при попытке распечатать его на ноутбуке, который не работает:
undefined
Файл Django settings.py:
любая помощь приветствуется
Проблема заключалась в том, что на одном ноутбуке фронтенд был запущен на 127.0.0.1, а на другом - на localhost. Это привело к тому, что токен csrf был установлен на одном домене, который был 127.0.0.1 в бэкэнде, а я пытался прочитать его с localhost. Мне просто нужно было добавить это в файл vite.config, чтобы убедиться, что frontend работает на том же домене, что и backend:
server: {
host: '127.0.0.1'
}