Django模型“没有声明明确的应用程序标签”
Django模型“没有声明明确的应用程序标签”
我无从下手了。经过十几个小时的故障排除,也许更多,我认为终于可以开始工作了,但是随后我得到了:
Model class django.contrib.contenttypes.models.ContentType doesn't declare an explicit app_label
关于这个问题,网络上提供的信息很少,而且没有任何解决方案可以解决我的问题。任何建议都将非常感激。
我使用的是Python 3.4和Django 1.10。
以下是我的settings.py文件:
INSTALLED_APPS = [ 'DeleteNote.apps.DeletenoteConfig', 'LibrarySync.apps.LibrarysyncConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
而我的apps.py文件看起来像这样:
from django.apps import AppConfig class DeletenoteConfig(AppConfig): name = 'DeleteNote'
和
from django.apps import AppConfig class LibrarysyncConfig(AppConfig): name = 'LibrarySync'
admin 更改状态以发布 2023年5月20日
我也遇到了同样的错误,不知道该如何解决这个问题。花了很多时间才注意到,在与django的manage.py相同的目录下有一个init.py。
之前:
|-- myproject |-- __init__.py <--- |-- manage.py |-- myproject |-- ... |-- app1 |-- models.py |-- app2 |-- models.py
之后:
|-- myproject |-- manage.py |-- myproject |-- ... |-- app1 |-- models.py |-- app2 |-- models.py
很让人困惑的是,你会得到这个“未声明明确的app_label”错误。但是删除这个init文件解决了我的问题。
你是否忘记在设置文件中添加应用程序名称?myAppNameConfig
是通过 .manage.py createapp myAppName
命令在 apps.py 中生成的默认类。其中 myAppName
是您的应用程序的名称。
settings.py
INSTALLED_APPS = [ 'myAppName.apps.myAppNameConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
这样,设置文件就可以知道您想要称呼您的应用程序。稍后您可以在 apps.py 文件中添加以下代码来更改其外观
myAppName/apps.py
class myAppNameConfig(AppConfig): name = 'myAppName' verbose_name = 'A Much Better Name'