django rest framework 405 method not allowed

26 мая 2017 г. 3:10

Причины возникновения ошибки 405 method not allowed достаточно много. Если вы используете django-shop, то попробуйте проверить импорт настройки в settings.py:

MIDDLEWARE_CLASSES = (
    ...
    'shop.middleware.MethodOverrideMiddleware',
    ...
)

Конечно, можно отдельно от django-shop использовать этот middleware в своих проектах. Сам код middleware представляет собой следующее:

class MethodOverrideMiddleware(object):
    """
    This middleware is required to emulate methods PUT and DELETE using a HTTP method POST
    as wrapper. Some misconfigured proxies do not pass these methods properly, hence this
    workaround is required.
    """
    METHOD_OVERRIDE_HEADER = 'HTTP_X_HTTP_METHOD_OVERRIDE'

    def process_view(self, request, callback, callback_args, callback_kwargs):
        if request.method != 'POST':
            return
        if self.METHOD_OVERRIDE_HEADER not in request.META:
            return
        request.method = request.META[self.METHOD_OVERRIDE_HEADER]

Оцените статью

0 из 5 (всего 0 оценок)

Поля, отмеченные звёздочкой ( * ) , являются обязательными.

Спасибо за ваш отзыв!

Автор статьи

Права на использование материала, расположенного на этой странице http://vivazzi.ru/it/django-rest-framework-405-method-not-allowed/:

Разрешается копировать материал с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Мальцев Артём
Ссылка на статью: <a href="http://vivazzi.ru/it/django-rest-framework-405-method-not-allowed/">http://vivazzi.ru/it/django-rest-framework-405-method-not-allowed/</a>

Подробнее: Правила использования сайта

Комментариев: 0

Вы можете оставить комментарий как незарегистрированный пользователь. Но, зарегистрировавшись, вы сможете получать оповещения об ответах, а также иметь доступ к своему личному аккаунту для просмотра своих комментариев.

Чтобы оставить комментарий от своего имени войдите или зарегистрируйтесь обычным способом или через социальные сети:

Отправить

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте