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

Django项目新增自定义HTML模板访问被重定向问题咨询

问题修复方案

你的配置存在4个核心问题,按优先级修复即可解决重定向问题:

  • 根路由顺序错误(最高优先级)
    根urls.py中你把自定义路由path('custom/', include('cvat.apps.custom.urls'))放在了path('', include('cvat.apps.engine.urls'))后面。CVAT的engine模块内置了前端SPA兜底路由,会匹配所有未被前置路由命中的请求,直接转发到前端入口页,你的自定义路由放在后面根本不会被触发,请求直接被拦截重定向。
    调整根路由顺序,把自定义路由移到engine路由之前:
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('custom/', include('cvat.apps.custom.urls')),
        path('django-rq/', include('django_rq.urls')),
        path('', include('cvat.apps.engine.urls')),
    ]
    
  • 应用内路由重复前缀
    根路由已经给custom应用的所有路由统一拼接了/custom/前缀,你在应用自身的urls.py里又加了custom/前缀,最终拼接的路由是/custom/custom/<str:name>,属于不必要的嵌套。同时你写的路由没有加尾斜杠,不符合Django默认APPEND_SLASH=True的规则,容易触发301重定向。
    修改应用内的urls.py:
    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('<str:name>/', views.CustomView),
    ]
    
    改完后访问http://localhost:8080/custom/a即可匹配到a.html,如果你确实需要保留/custom/custom/a的路径,保留custom/前缀即可,但必须先修复路由顺序问题。
  • 应用目录结构错误
    你当前把__init__.py(你写的_init.py文件名错误,必须是前后双下划线的__init__.py)放在了templates/custom目录下。这个文件是Python识别包目录的标识,必须放在custom应用的根目录,和urls.py、apps.py、views.py同级。templates目录只用来存HTML模板,不需要放__init__.py。
    修正后的目录结构:
    cvat
        apps
            custom
                __init__.py
                apps.py
                views.py
                urls.py
                templates
                    custom
                        a.html
                        b.html
                        ...
    
  • Nginx路由拦截(Docker部署场景必现)
    CVAT默认8080端口由Nginx监听,默认配置只会把/admin、/api、/django-rq、/static这类路径转发给后端Django,其余路径全部直接返回前端SPA入口文件,请求根本到不了Django。
    修改CVAT的Nginx配置,新增/custom/路径的转发规则,将该路径下的请求代理到后端Django服务,重载Nginx配置即可生效。

可选优化:注册应用时建议显式指定AppConfig类,避免配置不生效,把base.py中INSTALLED_APPS里的'cvat.apps.custom'改成'cvat.apps.custom.apps.CustomConfig'。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:15:33