天天看點

Django2.x使用xadmin報錯:RuntimeError:...doesn‘t declare an explicit app_label and isn‘t in an applicatio

報錯

RuntimeError: Model class django.contrib.admin.models.LogEntry doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

Failed to get real commands on module "online_shop": python process died with code 1: 
Traceback (most recent call last):
  File "/root/.pycharm_helpers/pycharm/_jb_manage_tasks_provider.py", line 25, in <module>
    django.setup()
  File "/root/Envs/rest/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/root/Envs/rest/lib/python3.6/site-packages/django/apps/registry.py", line 122, in populate
    app_config.ready()
  File "/home/zzy/online_shop/extra_apps/xadmin/apps.py", line 14, in ready
    self.module.autodiscover()
  File "/home/zzy/online_shop/extra_apps/xadmin/__init__.py", line 49, in autodiscover
    register_builtin_plugins(site)
  File "/home/zzy/online_shop/extra_apps/xadmin/plugins/__init__.py", line 41, in register_builtin_plugins
    [import_module('xadmin.plugins.%s' % plugin) for plugin in PLUGINS if plugin not in exclude_plugins]
  File "/home/zzy/online_shop/extra_apps/xadmin/plugins/__init__.py", line 41, in <listcomp>
    [import_module('xadmin.plugins.%s' % plugin) for plugin in PLUGINS if plugin not in exclude_plugins]
  File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/zzy/online_shop/extra_apps/xadmin/plugins/importexport.py", line 48, in <module>
    from import_export.admin import DEFAULT_FORMATS, SKIP_ADMIN_LOG, TMP_STORAGE_CLASS
  File "/root/Envs/rest/lib/python3.6/site-packages/import_export/admin.py", line 7, in <module>
    from django.contrib.admin.models import ADDITION, CHANGE, DELETION, LogEntry
  File "/root/Envs/rest/lib/python3.6/site-packages/django/contrib/admin/models.py", line 39, in <module>
    class LogEntry(models.Model):
  File "/root/Envs/rest/lib/python3.6/site-packages/django/db/models/base.py", line 111, in __new__
    "INSTALLED_APPS." % (module, name)
RuntimeError: Model class django.contrib.admin.models.LogEntry doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
           

解決方法

  • 在settings檔案中的

    INSTALLED_APPS

    中注冊admin.
    Django2.x使用xadmin報錯:RuntimeError:...doesn‘t declare an explicit app_label and isn‘t in an applicatio

報錯原因

The error you are getting is related to using a model before it gets initialized by the application。

在app初始化前使用了其model。

ialized by the application。

在app初始化前使用了其model。

xadmin是在admin的基礎上進行二次開發的,如果我們不在INSTALLED_APPS中初始化注冊admin,就會報上邊的錯誤。

繼續閱讀