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')),
]
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 to this questions:
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:
django-messages
models. If you have any, try to place those method calls inside the MyAppConfig
class in your app.py
.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 *