Ho una domanda su come mettere le app di django nella sottodirectory "apps". Ho l'app chiamata "faktura" in un progetto_root. Non mi piaceva il fatto che giacesse lì e voglio memorizzare tutte le mie app nella sottodirectory "apps".Spostamento di app django in sottocartella e url.py errore
Quindi, ho scoperto che potrei estendere il percorso Python al sottodirectory "apps", quindi dopo aver guardato su Internet, ho aggiunto questa stringa a settings.py: sys.path.insert (0, os.path.join (PROJECT_PATH, "app")). Poi ho aggiunto l'app a INSTALLED_APPS come "faktura". Tutto ha funzionato fino a quando ho aggiunto url (r '^ faktura /', include ('faktura.urls')) a urls.py nella radice. Dal momento che, Django lancia il messaggio di errore “No module named faktura” taceback completo è qui: http://dpaste.com/737380/
Che cosa può essere sbagliato, perché solo urls.py non può trovare l'applicazione? E non riesce a trovare questa app se l'ho aggiunta al PERCORSO? Ho passato una mattinata cercando di capire cosa c'è che non va e ora ho bisogno del tuo aiuto.
Yep questo funziona ... ma se usi - come faccio io - uwsgi come app server, dovresti anche applicare l'insert nel file wsgi.py. – Paul
Avete davvero bisogno delle importazioni non utilizzate (addeditedir, dirname, abspath)? O sono rimasti da una versione precedente di questa risposta? –
La modifica di sys.path è una cattiva idea. https://youtu.be/bAcfPzxB3dk?t=233 –