RuntimeError:模型类django_messages.models.Message不声明显式的app_label,并且不在INSTALLED_APPS中的应用程序中 [英] RuntimeError: Model class django_messages.models.Message doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS

查看:3597
本文介绍了RuntimeError:模型类django_messages.models.Message不声明显式的app_label,并且不在INSTALLED_APPS中的应用程序中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 https://github.com/arneb/django-messages包装为我的消息的东西,并尝试以下

I am trying to use https://github.com/arneb/django-messages package for my messaging stuff and tried the following

pip install git+https://github.com/arneb/django-messages.git

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sites',
    'rest_framework',
    'rest_framework.authtoken',
    'oauth2_provider',
    'api',
    'localflavor',
    'django_localflavor_us',
    'django_countries',
    'haystack',
    'django_messages',

]

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^messages/', include('django_messages.urls')),
]

当我运行 python manage.py runserver 我收到以下错误:

and when I run python manage.py runserver I got the following error:

Unhandled exception in thread started by <function wrapper at 0x107cedaa0>
Traceback (most recent call last):
  File "/Users/shivakrishna/.virtualenvs/project /lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "/Users/shivakrishna/.virtualenvs/project /lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 121, in inner_run
    self.check(display_num_errors=True)
  File "/Users/shivakrishna/.virtualenvs/project /lib/python2.7/site-packages/django/core/management/base.py", line 374, in check
    include_deployment_checks=include_deployment_checks,
  File "/Users/shivakrishna/.virtualenvs/project /lib/python2.7/site-packages/django/core/management/base.py", line 361, in _run_checks
    return checks.run_checks(**kwargs)
  File "/Users/shivakrishna/.virtualenvs/project /lib/python2.7/site-packages/django/core/checks/registry.py", line 81, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/Users/shivakrishna/.virtualenvs/project /lib/python2.7/site-packages/django/core/checks/urls.py", line 14, in check_url_config
    return check_resolver(resolver)
  File "/Users/shivakrishna/.virtualenvs/project /lib/python2.7/site-packages/django/core/checks/urls.py", line 24, in check_resolver
    for pattern in resolver.url_patterns:
  File "/Users/shivakrishna/.virtualenvs/project /lib/python2.7/site-packages/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/shivakrishna/.virtualenvs/project /lib/python2.7/site-packages/django/urls/resolvers.py", line 313, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/Users/shivakrishna/.virtualenvs/project /lib/python2.7/site-packages/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/shivakrishna/.virtualenvs/project /lib/python2.7/site-packages/django/urls/resolvers.py", line 306, in urlconf_module
    return import_module(self.urlconf_name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/shivakrishna/shiva/Office_projects/iPitch/project /project /urls.py", line 23, in <module>
    url(r'^messages/', include('django_messages.urls')),
  File "/Users/shivakrishna/.virtualenvs/project /lib/python2.7/site-packages/django/conf/urls/__init__.py", line 50, in include
    urlconf_module = import_module(urlconf_module)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/shivakrishna/.virtualenvs/project /lib/python2.7/site-packages/django_messages/urls.py", line 4, in <module>
    from django_messages.views import *
  File "/Users/shivakrishna/.virtualenvs/project /lib/python2.7/site-packages/django_messages/views.py", line 11, in <module>
    from django_messages.models import Message
  File "/Users/shivakrishna/.virtualenvs/project /lib/python2.7/site-packages/django_messages/models.py", line 48, in <module>
    class Message(models.Model):
  File "/Users/shivakrishna/.virtualenvs/project /lib/python2.7/site-packages/django/db/models/base.py", line 113, in __new__
    "INSTALLED_APPS." % (module, name)
RuntimeError: Model class django_messages.models.Message doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

我可以知道发生错误的原因以及如何解决?

Can I know the reason why that error is happening and how to solve it?

推荐答案

正如这些问题的答案所述:

As stated by the answers in those questions:


  1. RemovedInDjango19警告:模型不声明显式的app_label

  2. Django 1.9弃用警告app_label

  1. RemovedInDjango19Warning: Model doesn't declare an explicit app_label
  2. Django 1.9 deprecation warnings app_label

您收到的错误与应用程序初始化之前使用模型有关。

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

您在说明您不是在初始化时执行的信号,所以搜索:

You are stating in your comment that you are not using signals that execute at initialization, so search for:


  1. 在初始化和使用您的模型,或 django-messages 模型中调用的任何方法。如果您有任何方法,请尝试将这些方法调用放在 app.py 中的 MyAppConfig 类中。

  2. 如果执行中有相对路径,请将其更改为确切的模块路径:

  1. Any method called in initialization and using your models, or the django-messages models. If you have any, try to place those method calls inside the MyAppConfig class in your app.py.
  2. If you have any relative path in your execution, change it to the exact module path:

from .models import MyModel
from .messages import *

to

from apps.myapp.models import MyModel
django.messages import *


祝你好运:)

这篇关于RuntimeError:模型类django_messages.models.Message不声明显式的app_label,并且不在INSTALLED_APPS中的应用程序中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆