如何在 Django REST 框架可浏览 API 中发送标头

Posted

技术标签:

【中文标题】如何在 Django REST 框架可浏览 API 中发送标头【英文标题】:How to send headers in Django rest framework browsable API 【发布时间】:2017-02-03 08:17:42 【问题描述】:

如何在 Django REST 框架可浏览 API 视图中发送标头,我通过匹配一个令牌来验证调用,并在标头中传递。我可以在邮递员中使用该 API,它运行良好,但我想提供输入以将访问令牌放在 Django REST 框架的可浏览 API 上。

作为我想要输入标题的位置的参考,我附上了 UI 的图片。

感谢任何帮助。谢谢

【问题讨论】:

您可能需要手动扩展该视图,因为它不是开箱即用的支持。 @serg 你有任何参考如何做到这一点? 所有我能找到的django-rest-framework.org/topics/browsable-api/#customizing @serg 好吧,我找不到任何有用的东西。因为即使我对标题输入字段进行硬编码,其余框架如何在进行 api 调用时将这些属性作为标题传递? 你现在想好办法了吗? 【参考方案1】:

检查modheader。它允许您为请求设置标头。您可以在此处设置令牌 authtoken,其中“名称”为“授权”,“值”为“令牌”。

就我而言,我使用的是 rest_framework_JWT,所以授权标头类似于“JWT your_token”。

【讨论】:

【参考方案2】:

您可以使用 Postman 等工具 要么 您可以将 authentication.SessionAuthentication 添加到您的 authentication_classes

authentication_classes = [authentication.TokenAuthentication, authentication.SessionAuthentication]

所以只要您登录,您就可以在页面上看到 put 补丁和选项请求。 通过这种方法,您不会发送任何令牌。将其用于开发目的。

【讨论】:

【参考方案3】: 在您的邮递员中选择Post 方法并在请求的标头中写入 Authorization 用于密钥,Token bd8877272b3384341d063d1 用于 价值。使用您为每个用户生成的令牌。 或者您也可以输入用户名和密码而不是令牌 postman 中的标头。

【讨论】:

我知道如何在 postman 中做到这一点,但我想使用 django rest 框架的 UI,并且需要一种在 UI 中设置标题的方法。

以上是关于如何在 Django REST 框架可浏览 API 中发送标头的主要内容,如果未能解决你的问题,请参考以下文章

将 APIView 添加到 Django REST Framework 可浏览 API [重复]

如何使用 Django Rest Framework 创建登录 API?

如何将 Django Rest Framework 可浏览 API 接口限制为管理员用户

JS 框架能够基于(django)rest api 选项生成表单

django-rest-framework - 在可浏览的 API 中自动生成表单?

创建后的 Django REST 可浏览 API 列表视图仅显示创建的实例