Django REST: запрос OPTIONS зарегистрирован как PUT - PullRequest
0 голосов
/ 17 февраля 2019

Всякий раз, когда браузер отправляет запрос OPTIONS, Django REST регистрирует это как запрос PUT.

Я писал свой код доступа, когда заметил его.Я использую параметр запроса по умолчанию, который передается в def has_object_permission( self, request, view, obj ):.

Использование request.method вернет правильный метод запроса для каждого запроса, за исключением OPTIONS.Однако, когда я использую request.method в моей функции get_permission( self, request, view ): в другой части проекта, возвращается правильный ответ.Может ли быть что-то не так с функцией has_object_permission()?

В настоящее время я просто проверяю, является ли запрос PUT, так как я считаю, что запросы PUT все равно не используются Django.Но было бы неплохо, если бы я мог вместо этого использовать настоящее имя.

Моя версия Django REST 3.9.0

1 Ответ

0 голосов
/ 18 февраля 2019

ПАРАМЕТРЫ ОПЦИИ часто используются для так называемых «предполетных» запросов в Совместном использовании ресурсов общего пользования (CORS).В этом нет ничего плохого в has_object_permission(), просто эти предполетные запросы, вероятно, не предназначены для обработки вашим представлением.В этом сообщении ТАК есть более подробный ответ: https://stackoverflow.com/a/29954326/784648

...