web-dev-qa-db-ja.com

Django / pythonでリクエストヘッダーにアクセスする

SenchaとDjangoを使用して安全なrestFUL APIを作成する必要があります。私はPythonにかなり慣れていません。これまでのところ、以下の基本認証を使用してsenchaからサーバーにリクエストを送信できます

 new Ext.data.Store({
   proxy: {
     type: "ajax",
      headers: {
       "Authorization": "Basic asdjksdfsksf="
    }
   }
 })  

Php/Apacheでは、以下のコードでこれらのヘッダーに簡単にアクセスできます

$headers = Apache_request_headers();
print_r($headers);

Pythonでこれを行う方法?

24
sumit

辞書であるrequest.METAを使用して、ビュー内でそれらにアクセスできます。

Authorizationヘッダーが必要な場合は、request.META['HTTP_AUTHORIZATION']を実行できます

RESTful APIを最初から作成する場合は、 tastypie の使用を検討してください。

41
Jordan

使用できます

request.META['HTTP_AUTHORIZATION']

そして時折

request.META['Authorization']

助けられる。

3
Juba Fourali

Django 2.2以降、リクエストのヘッダーに簡単にアクセスできるようにHttpRequest.headersが追加されました。そのため、request.headersget()関数を使用して認証ヘッダーを取得することもできます

request.headers.get('Authorization')

これにより、値トークンの値が返されます。

Bearer eyJ0eYourToken...

https://docs.djangoproject.com/en/2.2/ref/request-response/#Django.http.HttpRequest.headers

1
mxr7350