Django点击创建文章报错TemplateDoesNotExist at /blog/create/
Django模板不存在错误排查与解决
问题现象
点击“Create post”按钮后,页面跳转至.../blog/create/,但触发错误:TemplateDoesNotExist at /blog/create/,无法正常加载新建博客页面。
核心原因
- 模板目录命名不符合Django规范:博客应用下的模板目录为
blog/Template/,而Django默认会扫描应用内名为templates(复数)的目录来查找模板文件,目录名称错误导致框架无法定位到create.html。 - 主路由配置存在语法小问题:
urls.py中include('blog.urls', 'blog')的写法在Django 3.0及以上版本中已不推荐,正确的命名空间传递方式应为元组形式。
修复步骤
1. 修正模板目录名称
将博客应用内的Template目录重命名为templates,确保模板文件最终路径为:blog/templates/blog/create.html
2. (可选)修正主路由配置
打开项目根目录下的urls.py,将旧的路由配置:
path('blog/', include('blog.urls', 'blog')),
替换为符合新版本规范的写法:
path('blog/', include(('blog.urls', 'blog'))),
验证操作
重启Django开发服务器,再次点击“Create post”按钮,即可正常加载新建博客页面。
内容的提问来源于stack exchange,提问作者Connor Johnson
相关产品推荐
相关产品推荐

