Отправить запрос PATCH в Django Rest Framework - PullRequest
0 голосов
/ 29 сентября 2019

Я отправляю запрос PATCH на мой DRF-сервер в Postman, и он отлично работает

Однако, когда я делаю то же самое в Python, я получаю:

<Response [405]> http://127.0.0.1:8000/api/title/8174/
b'{"detail":"Method \\"PATCH\\" not allowed."}'
Method Not Allowed

Моя функция, которая отправляет данные:

    ss_token = os.getenv('SS_TOKEN')

    headers = {
        'Authorization': 'Token ' + ss_token, 
    }


    source = Source.objects.all().first()
    url = source.url + str(self.ss_id) + '/'
    response = requests.patch(source.url, headers=headers, data={'key':'value'})
    print(response, url)
    print(response.content)
    print(response.reason)
    return True

Нужно ли отправлять другие заголовки в API для работы PATCH?

1 Ответ

0 голосов
/ 29 сентября 2019

Ах, похоже, я ошибся. Забыл заменить source.url новой переменной url под названием переменная url. Потому что это добавить «ss_id» в URL, чтобы он стал «api / title / ID /» вместо просто «api / title»

url = source.url + str(self.ss_id) + '/'
response = requests.patch(url, headers=headers, data={'key':'value'})
...