2014-11-14 17 views
9

mi hanno una struttura projectfolder come questo:Applicazioni in sottocartella a 1,7

project 
    applications 
     __init__.py 
     app1 
     app2 
     app3 
    project 
     __init__.py 
     settings.py 

Nel mio settings.py Nel tentativo di importare le applicazioni in questo modo:

INSTALLED_APPS = (
    'django.contrib.admin', 
    ... 

    'applications.app1', 
    'applications.app2', 
    'applications.app3', 
) 

Ma se provo a migrare una delle app, ho ricevuto questo errore:

./manage.py makemigrations applications.app1 
App 'applications.app1' could not be found. Is it in INSTALLED_APPS? 

Cosa potrebbe essere che non va? Questo tipo di configurazione funzionava con django 1.6

risposta

-1

La cartella delle applicazioni sul tuo PYTHONPATH?

si potrebbe aggiungere nel file di impostazioni mettendo questo sotto BASE_DIR:

import sys 
sys.path.append(os.path.abspath("applications")) 
+0

Grande! Grazie! –

+0

davidhwang spiega la soluzione corretta. – pymarco

6

v'è in realtà una soluzione Django nativo a questo. Da docs:

Many commands take a list of “app names.” An “app name” is the basename of the package containing your models. For example, if your INSTALLED_APPS contains the string 'mysite.blog', the app name is blog.

Problemi correlati