如何创建点击可跳转至Django Rest Framework API的链接
问题原因
- 你给
include(router.urls)的父路由设置name='api'不生效,Django的URL反向解析不能直接用父路由的name匹配include的子路由根路径。DRF的DefaultRouter自动生成的根API索引页的默认url name是api-root,你自行定义的父级name无法生效。 - 你的按钮设置了
type="submit",如果该按钮外层存在form标签,点击会优先触发表单提交行为,而非a标签的跳转逻辑,也会导致跳转失败。
解决方法
方案1:使用DRF默认的api-root反向解析(推荐)
将模板代码修改为如下内容即可:
<a class="botao__link" href="{% url 'api-root' %}"><button class="botao__botao" type="button">API</button></a>
核心修改点:
- 将
{% url 'api' %}替换为{% url 'api-root' %},匹配DRF自动生成的API根路径命名 - 将按钮的
type="submit"修改为type="button",避免触发表单提交行为
方案2:硬编码路径(适合路径固定的场景)
如果你的API根路径固定为/api/,也可以直接写死跳转路径:
<a class="botao__link" href="/api/"><button class="botao__botao" type="button">API</button></a>
修改完成后可打开浏览器开发者工具,检查a标签的href属性是否为正确的API路径,再验证跳转功能即可。
内容的提问来源于stack exchange,提问作者Deyllon Ramos
相关产品推荐
相关产品推荐

