【问题标题】:Django: Model class X doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPSDjango:模型类 X 未声明显式 app_label 并且不在 INSTALLED_APPS 中的应用程序中
【发布时间】:2018-01-03 16:17:57
【问题描述】:

他在stackoverflow中寻找了其他解决方案,但没有得到。

我的项目结构如下:

src
|
|---project
         |
         | settings.py
         | apps
             |
             |
             __init__.py
             app1
              |.....
             app2
             app3
My settings.py 

INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'project.apps.App1Config',
'project.apps.App2Config',
'project.apps.App3Config',
'project.apps.App4Config',
'project.apps.ProjectConfig',)


apps/__init__.py

class App1Config(AppConfig):
        name = 'project.apps.app1'
        verbose_name = "App"

并且仍然出现在控制台中:

RemovedInDjango19警告:模型类 project.models.Model 没有声明明确的 app_label 并且不在 INSTALLED_APPS 中的应用程序,否则在其之前导入 应用程序已加载。 Django 将不再支持此功能 1.9.

RemovedInDjango19警告:模型类 project.apps.app1.models.Model 没有明确声明 app_label 并且不在 INSTALLED_APPS 中的应用程序中,否则 在加载其应用程序之前导入。这将不再是 在 Django 1.9 中支持。

【问题讨论】:

  • 在没有“项目”的情况下尝试一下。
  • 它不起作用:ImportError: No module named 'apps'
  • 如果有迁移,检查导入语句是否正确,是否指向模型的完整路径

标签: python django


【解决方案1】:

尝试像这样设置您的应用名称:

class App1Config(AppConfig):
    name = '**app1**'
    verbose_name = "App"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-18
    • 2021-10-23
    • 1970-01-01
    • 2020-08-13
    • 2018-10-19
    • 2021-10-09
    • 2018-12-29
    • 2019-08-28
    相关资源
    最近更新 更多