DEBUG=True提示无URL配置,已配置仍显示Django默认成功页
问题排查与修复
1. 先修正Settings.py的语法错误
你的settings.py中INSTALLED_APPS列表结尾写的是[,这是明显的语法错误,必须改为闭合的],否则Django无法正确加载配置:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'application.apps.ApplicationConfig', # 也可以直接写 'application' ] # 此处改为闭合方括号
2. 目录结构是核心问题
初始结构的错误
你提供的初始目录结构存在两个独立的src目录,不符合Django项目规范,正确结构应该是将项目配置文件(settings.py、urls.py)与application app放在同一个src目录下:
- env - src - application - migrations - static - templates - __init__.py - urls.py - views.py - __init__.py - settings.py - urls.py - manage.py
当前结构的问题
当前结构中src下嵌套了另一层src,此时ROOT_URLCONF = 'src.urls'无法找到正确的配置文件(实际urls.py在src/src目录下),需修改为:
ROOT_URLCONF = 'src.src.urls'
更推荐直接调整为上述标准目录结构,避免嵌套带来的路径混乱。
3. 验证URL配置加载有效性
- 若
application在src目录内,INSTALLED_APPS配置'application'或'application.apps.ApplicationConfig'均有效(manage.py启动时会自动将当前目录加入Python搜索路径,src作为子目录可被识别)。 - 若
application与manage.py同级,INSTALLED_APPS直接写'application'即可,此时它是顶级模块,Python可直接定位。
4. 确认URL映射生效
安装django-extensions后运行python manage.py show_urls,可列出所有已注册的URL,检查自定义路径是否在列表中。若存在,访问根路径应触发views.landing,而非Django默认成功页。
5. 重启服务并清理缓存
修改结构或配置后,务必重启Django开发服务器,同时删除所有__pycache__目录,避免缓存导致配置不生效。
内容的提问来源于stack exchange,提问作者pyFubu
相关产品推荐
相关产品推荐

