【问题标题】:Handle a request header in Django rest framework to get the secret key passed in the header?在 Django rest 框架中处理一个请求标头以获取标头中传递的密钥?
【发布时间】:2015-03-19 08:56:44
【问题描述】:

我有一个移动应用程序的 django 后端。

我正在使用 django rest 框架,但我仍在编写自己的视图和逻辑,因为 api 端点不是基于模型的。

发送给我的请求在标头中有一个密钥,该密钥与注册的各个设备相关联。除此之外,它还包含包含设备 ID 和其他详细信息的发布数据。

如果我在 django 中编写自己的自定义视图以检查设备 ID 和密钥是否通过,匹配,如何从标头访问密钥值?

【问题讨论】:

    标签: python django django-rest-framework


    【解决方案1】:

    它与常规的 django 视图没有什么不同:

    class MyAPIView(APIView):
        def post(self, request, *args, **kwargs): 
            print self.request.META.get('HTTP_SECRET_KEY', None) 
    

    包含所有可用 HTTP 标头的标准 Python 字典。 可用的标头取决于客户端和服务器...

    https://docs.djangoproject.com/en/1.7/ref/request-response/#django.http.HttpRequest.META

    【讨论】:

    • 这是正确的,但使用 MiddleWare 会更好。
    • @beluga.me 如何在 django rest 框架 api UI 中请求 consumer_keyconsumer_secret 之类的标头?
    • @RohitKhatri 我在 DRF 文档中找不到这些字符串。但是如果有东西被传输,它基本上只能在 GET/POST 数据或头部字段中,所以检查传入的请求有哪些数据可用。
    猜你喜欢
    • 1970-01-01
    • 2020-10-20
    • 2011-12-22
    • 2013-03-08
    • 2016-11-16
    • 2018-08-12
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    相关资源
    最近更新 更多