我需要使用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中执行此操作?
答案 0 :(得分:34)
您可以使用request.META
(一个词典)在视图中访问它们。
如果您需要授权标头,则可以执行request.META['HTTP_AUTHORIZATION']
如果您是从头开始创建一个restful API,您可能需要查看使用tastypie。
答案 1 :(得分:1)
您可以使用
request.META['HTTP_AUTHORIZATION']
有时
request.META['Authorization']
可以提供帮助。
答案 2 :(得分:0)
自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
答案 3 :(得分:0)
HttpRequest.headers
Django 2.2的新功能。
if 'Authorization' in request.headers: # Authorization header exists
#do something here
pass
else: # Authorization header not exists
#do something here
pass