Доступ к заголовкам запроса на django/python
Мне нужно создать безопасный restFUL api, используя sencha и django. Я новичок в python. Пока я могу отправить запрос от sencha на сервер, используя базовую аутентификацию, как показано ниже.
new Ext.data.Store({
proxy: {
type: "ajax",
headers: {
"Authorization": "Basic asdjksdfsksf="
}
}
})
В php/apache я могу легко получить доступ к этому заголовку с помощью кода ниже
$headers = apache_request_headers();
print_r($headers);
Как это сделать в python?
Ответы
Ответ 1
Вы можете получить к ним доступ в виде с помощью request.META
, который является словарем.
Если вы хотите заголовок авторизации, вы можете сделать request.META['HTTP_AUTHORIZATION']
Если вы создаете спокойный API с нуля, вам может потребоваться использовать tastypie.
Ответ 2
Вы можете использовать
request.META['HTTP_AUTHORIZATION']
а иногда
request.META['Authorization']
может помочь.
Ответ 3
Начиная с django 2.2 HttpRequest.headers
были добавлены для простого доступа к заголовкам запросов. Так что теперь вы также можете получить аутентификационный заголовок, используя функцию get()
в request.headers
request.headers.get('Authorization')
Это вернет вам значение токена.
Bearer eyJ0eYourToken
https://docs.djangoproject.com/en/2.2/ref/request-response/#django.http.HttpRequest.headers