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

Django页面跳转异常:点击文本1无响应/无法跳转至文章页

解决Django页面跳转无响应的问题

我来帮你排查下点击文章入口没反应的问题,主要有三个核心问题需要修正:


1. HTML链接缺失跳转目标

你的HTML里的<a>标签只是渲染了文章内容,但完全没设置跳转的href属性,点击自然不会有任何响应。得用Django的模板标签生成正确的路由链接:

修改后的HTML片段(建议用文章标题作为跳转入口,更符合用户习惯):

<div>
    <a href="{% url 'blog_article' article.id %}">{{ article.title }}</a>
</div>

如果你确实需要用article.body的内容作为跳转触发点,直接把article.title替换成article.body即可,但长文本全可点的体验不太友好哦


2. URL正则表达式存在两处错误

你的路由配置有两个致命问题,会导致即使链接正确,后端也匹配不到对应的视图:

  • 第一个路由r'$'没有开头的^,会错误匹配所有以空字符串结尾的URL,应该改成r'^$'精准匹配根路径;
  • 第二个路由的\d只能匹配单个数字的文章ID(比如ID=1可以,但ID=10就匹配失败),要改成\d+支持多位数字ID,同时加上开头的^避免和其他路由冲突。

修改后的urls配置:

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.blog_title, name='blog_title'),
    url(r'^(?P<article_id>\d+)/$', views.blog_article, name='blog_article'),
]

3. 视图函数添加异常处理(可选但推荐)

如果用户访问了一个不存在的文章ID,models.BlogArticle.objects.get(id=article_id)会直接抛出DoesNotExist异常导致500错误,建议用Django内置的get_object_or_404返回友好的404页面:

修改后的views代码:

from django.shortcuts import get_object_or_404

def blog_article(request, article_id):
    article = get_object_or_404(models.BlogArticle, id=article_id)
    return render(request, 'blog/article.html', {'article': article})

把这三处改完后,点击文章链接应该就能正常跳转到对应的文章页了。

内容的提问来源于stack exchange,提问作者J.wang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:24:06