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

如何在Django CMS的base.html中引入应用模板文件?

解决Django CMS中模板include找不到的问题

我来帮你排查这个模板无法找到的问题,按下面的步骤逐一检查应该就能解决:

  • 确认应用已加入INSTALLED_APPS
    打开项目根目录下的settings.py,找到INSTALLED_APPS列表,确保里面添加了'was_this_helpful'。Django只会去已注册应用的templates目录里查找模板,没注册的话肯定找不到。示例配置:

    INSTALLED_APPS = [
        # ...其他已有的应用
        'was_this_helpful',
    ]
    
  • 检查TEMPLATES配置中的APP_DIRS设置
    同样在settings.py的TEMPLATES配置项里,确认APP_DIRS被设为True。这个选项告诉Django要不要去各个已注册应用的templates目录里找模板,设成False的话就只会用DIRS里指定的路径了。示例配置:

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [BASE_DIR / 'templates'],  # 项目级别的模板目录
            'APP_DIRS': True,  # 这个必须是True!
            'OPTIONS': {
                'context_processors': [
                    # ...默认的上下文处理器
                ],
            },
        },
    ]
    
  • 核对模板路径和文件名的正确性
    你写的{% include 'was_this_helpful/dialog.html' %}路径是符合规范的,因为你的模板确实在was_this_helpful/templates/was_this_helpful/dialog.html。不过要仔细检查:

    • 文件名有没有拼写错误(比如是不是误写成dialoge.html了?)
    • 大小写是否匹配(如果是Linux或macOS环境,文件名区分大小写,别把Dialog.html和dialog.html搞混)
  • 清除模板缓存并重启服务器
    Django有时候会缓存模板文件,哪怕你已经调整了文件结构。试试重启你的Django开发服务器,生产环境可以用python manage.py clearcache命令清除模板缓存。

如果以上步骤都试过还是不行,再检查下项目有没有自定义的模板加载器影响了查找逻辑,但大部分情况下前面几个步骤就能解决问题啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:49:48