创建含navbar.html的template文件夹后页面不显示,报TemplateDoesNotExist错误求助
问题排查与解决
大概率是文件夹结构或Django模板配置问题导致的,按以下步骤逐一排查:
检查settings.py的模板配置
打开项目根目录的settings.py,找到TEMPLATES配置块:- 确认
DIRS列表里是否包含你的模板文件夹路径。如果template文件夹在项目根目录,要写成:
(注意:Django默认识别复数的'DIRS': [BASE_DIR / 'template'],templates文件夹,若你用的是单数template,必须在此明确指定路径) - 如果模板放在某个app的文件夹下,确保
APP_DIRS设为True。
- 确认
核对文件夹层级
- 项目级模板:若放在项目根目录,建议把文件夹名改成
templates(复数),直接将navbar.html放入其中;若坚持用单数template,必须在DIRS中配置对应路径。 - app级模板:要在app的
templates文件夹下再建一个与app同名的子文件夹,比如app名为nav,路径应为nav/templates/nav/navbar.html,避免模板重名冲突。
- 项目级模板:若放在项目根目录,建议把文件夹名改成
确认视图的模板引用
对应/navbar/路径的视图函数里,渲染代码要匹配模板路径:- 项目级模板:用
render(request, 'navbar.html') - app级模板:用
render(request, '你的app名/navbar.html')
- 项目级模板:用
清除Django缓存
缓存可能导致模板不生效,运行命令:python manage.py clearcache
内容的提问来源于stack exchange,提问作者code__beginner
相关产品推荐
相关产品推荐

