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

如何调整Wagtail博客索引页面的URL并更换首页

解决Wagtail博客索引页迁移到/blog路径的问题

问题原因

直接在urls.py中添加path("blog/", include(wagtail_urls))无法生效,是因为Wagtail的页面路由依赖于后台配置的页面路径(slug),而非单独通过Django的URL路由规则控制。Wagtail会自行管理所有页面的URL映射,单独将wagtail_urls挂载到blog/下,会导致Wagtail期望所有页面路径都以blog/开头,但你的博客索引页原本的路径是空的(作为首页),自然无法匹配。

正确解决步骤

  1. 修改Wagtail后台博客索引页的路径

    • 登录Wagtail管理后台,找到原博客索引页(原首页)。
    • 编辑该页面,在页面设置的URL路径(或slug配置)中,将其路径修改为blog。保存后,该页面的访问路径就会变成/blog。
  2. 调整Django的urls.py配置
    保持首页指向自定义模板页,同时保留Wagtail的路由以处理所有其他页面(包括新路径的博客索引页):

    from django.urls import path
    from django.views.generic import TemplateView
    from wagtail import urls as wagtail_urls
    
    urlpatterns = [
        # 自定义首页
        path("", TemplateView.as_view(template_name="pages/newhomepage.html"), name="newhomepage"),
        # 让Wagtail处理所有其他页面路由
        path("", include(wagtail_urls)),
    ]
    

补充说明

  • 若你的站点设置中,原博客索引页仍被设为“首页”,无需修改——因为Django的URL路由会优先匹配path("", TemplateView...),访问根路径时会直接跳转到自定义首页,而Wagtail的页面路由会处理/blog及其他Wagtail管理的页面。
  • 修改页面路径后,记得清理浏览器缓存并重启Django服务,避免缓存导致的路径不生效问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:35:23