django项目中遇到的一个奇葩问题

django项目中遇到的一个奇葩问题
  • django version:2.2.5
  • 问题现象
    代码写得好好的,一运行项目,报了这么一个错误:

    报错英文的大意:RuntimeError:模型类apps.user.models.User未声明显式的app_label,也不在INSTALLED_APPS中的应用程序中。
    奇怪了,明明在settings.py中已经安装了这些app,为什么还会报这个奇葩的问题?

    之前根本没有这个错误,是在写了自定义User模型,做User注册登录功能时出了这个问题。
    找来找去,也没找到问题所在,也没能解决问题。
    最后,在无意中,把根urls.py中的apps.,都去掉后,就能正确运行了。
    把下面这些红线部分的apps.全部删除

    问题解决,项目能跑了
  • 问题根源
    我也不知道问题的根源是什么,从没有见过这样的问题。只是瞎猜,也许是绝对路径和相对路径的关系。
    在settings.py中配置了这么两行代码:

    也许系统认为apps.model_name.url是绝对路径,系统找不到了。而model_name.url是相对路径,相对于项目的目录去查找app
posted @ 2019-10-06 20:10  root01_barry  阅读(226)  评论(0编辑  收藏  举报