You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django中如何用<button>结合{% url %}模板标签实现页面跳转?

Django中用模板标签实现按钮跳转的正确方式

完全可行,Django的{% url %}模板标签可以直接和按钮跳转结合使用,给你两种靠谱的实现方式:

方法一:结合onclick事件

直接把模板标签嵌入到location.href里就行,模板渲染时会自动把标签转换成实际的URL:

<button onclick="location.href='{% url 'some_view' %}'" type="button">Create new Recipe</button>

如果你的视图需要参数(比如详情页的ID),直接在模板标签里传参即可:

<button onclick="location.href='{% url 'recipe_detail' recipe_id=1 %}'" type="button">View Recipe</button>

方法二:用表单包裹按钮(推荐)

这种方式不需要JS,更符合HTML语义,兼容性也更好,尤其适合后续可能扩展功能的场景:

<form action="{% url 'some_view' %}" method="get">
    <button type="submit" class="btn btn-outline-secondary">Create new Recipe</button>
</form>

如果需要POST请求,把method改成post即可,别忘了加上CSRF令牌(Django模板里加{% csrf_token %})。

为什么你之前的按钮套a标签无效?

按钮内部嵌套a标签属于不符合HTML规范的写法,不同浏览器的解析行为不一致,大概率会导致跳转失效或者样式混乱,所以绝对不推荐这么写。

内容的提问来源于stack exchange,提问作者KermitHQ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 10:15:33