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

Django报错TemplateDoesNotExist:点击customer_list链接异常

嘿,我帮你排查出来问题啦!这个TemplateDoesNotExist错误其实就是Django找不到你指定的模板文件,咱们一步步来解决:

核心问题分析

从错误信息能看到,Django一直在找名为customer_list的模板(甚至不带.html后缀和路径),但你的视图里明明指定了customer/customer_list.html——这说明要么模板文件的实际位置/命名不对,要么Django没找到正确的搜索路径。

分步解决方案

1. 先确认模板文件的位置和命名

你需要确保模板文件完全符合以下结构:

  • 要么放在项目根目录的templates文件夹下:
    D:\project\dysapp\
    └── templates\
        └── customer\
            └── customer_list.html  # 你的模板文件必须在这里
    
  • 要么放在dysapp app目录的templates文件夹下(因为APP_DIRS=True,Django会自动搜索每个app的templates):
    D:\project\dysapp\
    └── dysapp\
        └── templates\
            └── customer\
                └── customer_list.html
    

⚠️ 注意:文件夹名customer、文件名customer_list.html的拼写要完全一致,大小写也要统一(Windows下虽然不敏感,但最好严格对应),必须带.html后缀!

2. 检查视图和配置的细节

  • 你的视图代码里的模板路径是对的:
    def CustomerList(request, template_name='customer/customer_list.html'):
        customer = Customer.objects.all()
        data = {'object_list': customer}
        return render(request, template_name, data)
    
    这个路径会告诉Django去搜索上述两个位置的customer/customer_list.html。
  • 确认settings.py里的INSTALLED_APPS包含'dysapp',否则Django不会搜索这个app的templates文件夹:
    INSTALLED_APPS = [
        # ... 其他默认app
        'dysapp',  # 必须加上这个!
    ]
    

3. 快速排查小技巧

如果确认文件存在但还是报错,试试这些:

  • 清除Django缓存:运行py manage.py clearcache(Django 2.0+支持),或者手动删除项目里的__pycache__文件夹。
  • 临时用绝对路径测试视图:把render里的模板路径改成绝对路径,比如:
    return render(request, 'D:/project/dysapp/templates/customer/customer_list.html', data)
    
    如果这样能正常显示,说明你的相对路径配置没问题,只是文件位置错了。

最后验证

修改完后重启服务器,再点击customer_list链接,应该就能正常显示客户列表啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:01:30