如何在 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 选项生成表单