[Solved]-Django 1.7 app config ImportError: No module named appname.apps


According to the specific Django project structure (all applications are located in projectname/apps/ module) the full path including the project name should be used.

As the doc https://docs.djangoproject.com/en/dev/ref/applications/#django.apps.AppConfig.name says:


Full Python path to the application, e.g. ‘django.contrib.admin’.

So it should be:

# articles/apps.py:
from django.apps import AppConfig
from django.utils.translation import ugettext_lazy as _

class ArticlesConfig(AppConfig):

    name = 'projectname.apps.articles'
    verbose_name = _(u'Articles')


# articles/__init__.py
default_app_config = 'projectname.apps.articles.apps.ArticlesConfig'


The name attribute in the app configuration should be same as what we give in the installed apps.

Also default_app_config should give the correct path to your custom configuration like,

default_app_config = 'projectname.apps.articles.apps.ArticlesConfig


I think the problem could be focused in your articles/__init__.py file.

I mean… In the documentation says:

Of course, you can also tell your users to put ‘rock_n_roll.apps.RockNRollConfig’ in their INSTALLED_APPS setting.

You tried to delete the “default_app_config” statement and only getting your articles.apps.ArticlesConfig in your INSTALLED_APPS?

I say that because the docs says:

That will cause RockNRollConfig to be used when INSTALLED_APPS just contains ‘rock_n_roll’.

In the case to have a default_apps_config declared in articles/__init__.py, in your INSTALLED_APPS it’s only necessary:

INSTALLED_APPS = ( 'grappelli', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', 'grappelli.dashboard', 'mptt', 'sekizai', 'pytils', 'sorl.thumbnail', 'sefaro.apps.utils', 'sefaro.apps.seo', 'sefaro.apps.staticpages', 'sefaro.apps.statictext', 'sefaro.apps.usersettings', 'sefaro.apps.navigation', 'sefaro.apps.slideshow', 'articles', )

Maybe i’m wrong but I would try that 🙂 Tell me if you need more help.

Leave a comment