gpt4 book ai didi

python - "Try it Out"部分中的 Django Rest Swagger 自定义 Auth header

转载 作者:太空宇宙 更新时间:2023-11-04 10:06:04 25 4
gpt4 key购买 nike

我想知道是否可以为 django-rest-swagger 生成的文档的 each “试用”部分添加自定义身份验证 header ?我为我的 REST API 设置了自定义 token 身份验证,只需要为“试试看!”生成的每个请求指定一个自定义 header 。按钮。

enter image description here

最佳答案

好的,我终于解决了自己的问题。基本上,我最终用自定义的 index.html 覆盖了默认的 index.html(将其作为 rest_framework_swagger/index.html 添加到我自己的 templates 目录):

{% extends "rest_framework_swagger/base.html" %}
{% block extra_nav %}
<input type="text" id="auth_token" placeholder="Auth Token" />
<input class="submit" type="submit" value="Submit" data-sw-translate="">
{% endblock %}

{% block extra_scripts %}
<script>
var element = document.querySelector(("#api_selector"));
element.addEventListener("submit", function(event) {
event.preventDefault();
var token = $("#auth_token").val();
window.swaggerUi.api.clientAuthorizations.add("Authorization", new window.SwaggerClient.ApiKeyAuthorization("Authorization", token, "header"));
alert("authorization added: " + token);
});

</script>
{% endblock %}

基本上,我向导航栏添加了一个输入框(请参阅 extra_nav block ),用户只需在其中放置他们的自定义 header 值(在我的例子中是身份验证 header )。一旦用户单击提交按钮,我的自定义脚本(请参阅 extra_scripts)将在阻止表单提交的地方执行(django-rest-swagger 将我的输入框放在一个 ID 为 的表单中api_selector,然后将 token 值添加到请求 header 。从这里开始,任何“试用”按钮现在都将具有额外的自定义请求 header 。

enter image description here

有关覆盖默认 django-rest-swagger ui 的更多信息:http://django-rest-swagger.readthedocs.io/en/latest/customization/
有关覆盖模板的更多信息:Override templates of external app in Django

关于python - "Try it Out"部分中的 Django Rest Swagger 自定义 Auth header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40958499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com