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

Django无法跳转至首页:模板标签未解析引发404错误求助

Django链接跳转404问题解决

你这段代码的问题在于,视图函数中直接返回的HttpResponse内容里的模板标签{% url 'home' %}不会被Django的模板引擎解析,它会被当作普通字符串输出,所以点击链接后浏览器会请求编码后的错误路径http://127.0.0.1:8000/search/%7B%25%20url%20''%20%25%7D,这显然不是正确的首页路径,因此触发404错误。同时注意视图参数应该是request而非requests,这个小细节也需要修正。

方案一:在视图中使用reverse生成URL

Django提供了reverse函数,可以通过URL名称反向解析出对应的URL路径,修改代码如下:

from django.http import HttpResponse
from django.urls import reverse

def search(request):
    home_url = reverse('home')
    return HttpResponse(f"<a href='{home_url}'>home</a>")

方案二:使用Django模板(更推荐)

直接在视图里拼接HTML不是最佳实践,更好的方式是借助模板文件实现:

  1. 在你的app目录下创建templates文件夹,新建search.html文件,内容如下:
<a href="{% url 'home' %}">home</a>
  1. 修改视图函数:
from django.shortcuts import render

def search(request):
    return render(request, 'search.html')

这种方式下,模板里的{% url 'home' %}会被模板引擎正确解析成首页的URL。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 09:37:41