Доступ к заголовкам запроса на django/python - программирование

Доступ к заголовкам запроса на 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?

4b9b3361

Ответ 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