我想知道是否有可能爲添加自定義驗證標題,每個由django-rest-swagger生成的文檔的「試試看」部分?我爲我的REST API設置了自定義令牌認證,並且只需爲由「試用它」生成的每個請求指定一個自定義標頭。按鈕。Django Rest Swagger自定義驗證標題在「試用」部分
0
A
回答
4
好了,所以我終於解決了我自己的問題。基本上,我結束了我的自定義一個覆蓋默認的index.html(它加入到我自己的templates
目錄rest_framework_swagger/index.html
):
{% 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
塊)導航欄在那裏用戶只需放置他們的自定義標題值(在我的情況下,它是認證標題)。一旦用戶點擊提交按鈕,我的自定義腳本(請參閱extra_scripts
)將在執行防止表單提交的地方執行(django-rest-swagger將我的輸入框放置在ID爲api_selector
的表單中,然後將令牌值添加到請求中。頭從這裏,任何的「實戰」按鈕現在將有額外的自定義請求頭
欲瞭解更多信息,覆蓋了默認的Django休息,招搖的用戶界面:http://django-rest-swagger.readthedocs.io/en/latest/customization/
更多關於覆蓋模板的信息:Override templates of external app in Django
相關問題
- 1. Swagger自定義驗證標頭
- 2. Appengine Django自定義驗證
- 3. Django ModelForm,自定義驗證
- 4. 部分視圖MVC自定義驗證
- 5. 在Swagger UI中發送動態自定義標題嘗試出
- 6. Django的REST框架不驗證自定義用戶模型
- 7. TableView - 在部分中自定義標題
- 8. Django REST框架+ Django REST Swagger
- 9. Django Rest Swagger APIView
- 10. Django自定義身份驗證
- 11. Django自定義用戶模型驗證
- 12. 在Django中自定義驗證admin
- 13. 使用自定義驗證驗證REST端點參數與LocalDate
- 14. 自定義驗證問題
- 15. SpringBoot Rest API自定義身份驗證
- 16. 爲UITableViewController自定義標題部分
- 17. UITableView自定義部分標題消失
- 18. Android自定義部分標題視圖
- 19. 自定義部分標題查看UITableView
- 20. Android Listview自定義部分標題
- 21. Spring rest - 方法級別的自定義頭部驗證
- 22. Django REST框架Swagger - 身份驗證錯誤
- 23. 如何自定義自定義標題部分視圖
- 24. 自定義身份驗證問題
- 25. 如何自定義Django表單驗證
- 26. Django - 自定義驗證錯誤
- 27. Django自定義表單驗證/清除
- 28. Django和自定義表單驗證
- 29. Django創建自定義驗證碼
- 30. 添加自定義Django模型驗證
只是爲了讓它在應該存儲這些模板的位置上更清晰一些。假設你的初始應用叫做'core'。然後你應該添加模板到這個位置'core/templates/rest_framework_swagger/index.html'。然後通過修改'core/settings/base.py'使得新添加的模板可見: 'TEMPLATES = [{'DIRS':[os.path.join(BASE_DIR,'templates')]}]'' –