如何在Django REST Framework Browsable API中自定义面包屑

时间:2017-02-05 17:35:14

标签: python django django-rest-framework

目前,Browsable API似乎从我的视图的类名派生出面包屑。但是,我使用嵌套资源为我的API,所以我可以得到像Breadcrumbs:

Root / User List / User Detail / User Invite List / User Invite Detail

然而,“用户邀请”视图再次显示用户的事实非常多余。我宁愿让他们的面包屑只是'邀请名单'和'邀请细节'。

现在最明显的解决办法就是重命名视图类,但这对我来说不是一个选项,因为我还有ChatInviteList和ChatInviteDetail这两个共享相同问题的类。所以我不能将它们命名为InviteDetail和InviteList。

有没有办法以另一种方式自定义这些面包屑?例如,通过在视图类中设置一些变量或其他东西。我尝试搜索文档,但无法找到任何内容。

1 个答案:

答案 0 :(得分:2)

编写一个名为'rest_framework/base.html'docs)的模板,该模板扩展breadcrumbs,覆盖{% block breadcrumbs %} <ul class="breadcrumb"> {% for breadcrumb_name, breadcrumb_url in breadcrumblist %} {% if forloop.last %} <li class="active"><a href="{{ breadcrumb_url }}">{{ breadcrumb_name }}</a></li> {% else %} <li><a href="{{ breadcrumb_url }}">{{ breadcrumb_name }}</a></li> {% endif %} {% endfor %} </ul> {% endblock %} 块。如需指导,original block看起来:

devenv makefile.sln /upgrade