Django报错之...doesn't declare an explicit app_label...
Django 启动项目服务的时候可能会报以下错误:以下Apps.userPage是应用名,换成你自己的!!!
单项目不太可能会遇到这个问题,一般多应用放在一个Apps下时可能会出现.doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS
File "D:\Fineex WorkSpace\DatasPlat\Apps\userPage\urls.py", line 18, in <module> from . import views File "D:\Fineex WorkSpace\DatasPlat\Apps\userPage\views.py", line 6, in <module> from . import models File "D:\Fineex WorkSpace\DatasPlat\Apps\userPage\models.py", line 6, in <module> class Department(models.Model): File "D:\Fineex WorkSpace\DatasPlat\venv\lib\site-packages\django\db\models\base.py", line 113, in __new__ raise RuntimeError( RuntimeError: Model class Apps.userPage.models.Department doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
如果你确信在models.py中正确添加了对应的Model:
class Department(models.Model): code = models.CharField(max_length=64, blank=False, null=False, primary_key=True, unique=True) name = models.CharField(max_length=128, blank=False, null=False) pcode = models.CharField(max_length=64) desc = models.CharField(max_length=255, blank=True, null=True) lever= models.IntegerField(blank=False, null=False) class Meta: db_table = 'department' verbose_name_plural = db_table
如果你确信在settings.py中已正确注册App
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'Apps.userPage', .......
且在Apps/userPage/view.py中按照正确路径(一般为相对路径)
from . import models
如果你觉得不应该报错,甚至你Apps下面的其它App没有这个错误,或者删除上面的引入都可以正常启动项目的话,错误大概率出险在Apps/userPage/apps.py的AppConfig类中,
class UserpageConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'userPage' # 出错点在这里
改成
class UserpageConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'Apps.userPage'
或者直接在apps.py中删掉这个Config,再次启动这个项目,已成功!
只是Django项目启动报错的一种情况,不一定适用于其它类型,先判断好。