(Docker)Django模型“未声明显式的app_label”,并且不在INSTALLED_APPS

时间:2019-02-21 20:21:17

标签: python django docker django-models docker-compose

我正在尝试对django服务器进行docker化,但是我面临的文献记载不充分。

我在models.py文件中定义了一个非常简单的Specs模型,当我尝试运行docker-compose时,收到以下错误消息:

  

RuntimeError:模型类api.models.Specs没有声明显式的app_label,并且不在INSTALLED_APPS中的应用程序中。

然后我意识到,在按照我正在使用的教程进行操作时,我没有将AppConfig名称添加到INSTALLED_APPS中,但这仅仅是不足以解决问题。我正在使用不同的项目结构来运行此docker容器,我怀疑问题可能与我的apps.py文件的路径有关。

这是当前项目文件结构的摘要版本:

  

项目/

     

-app /

     

-app / api /

     

--- app / api / apps.py

     

--- app / api / controllers.py

     

--- app / api / models.py

     

--- app / api / views.py

     

--- app / api / wsgi.py

     

-app / config /

     

--- app / config / celeryconfig.py

     

--- app / config / settings.py

     

-app / someUtils /

     

-app / manage.py

     

-docker-compose.yml

     

-Dockerfile

     

-requirements.txt

我尝试为INSTALLED_APPS使用多个不同的值,例如“ apps.MyAppConfig”,“ api.apps.MyAppConfig”和“ app.api.apps.MyAppConfig”,但我得到的都是不同的错误消息,例如“ ModuleNotFoundError:没有名为<>“的模块。

有人可以帮助我解决此问题吗?在settings.py的INSTALLED_APPS中,该appConfig应该使用什么路径?我是否应该将dockerization方法更改为其他方法(不使用标准Django模型)?谁能给我指出一些可靠的Django项目容器化文档/教程/示例?

PS:也许我在错误的文件夹中添加了apps.py?同样,这不是我惯用的文件结构。

0 个答案:

没有答案