ikostia ikostia - 2 months ago 15
Python Question

How to keep all my django applications in specific folder

I have a Django project, let's say "project1".
Typical folder structure for applications is:

/project1/
/app1/
/app2/
...
__init__.py
manage.py
settings.py
urls.py


What should I do if I want to hold all of my applications in some separate folder, 'apps' for example? So that structure should look like the following:

/project/
apps/
app1/
app2/
...
__init__.py
manage.py
settings.py
urls.py

Answer

You can add your apps folder to your python path by inserting the following in your settings.py:

import os
import sys

PROJECT_ROOT = os.path.dirname(__file__)
sys.path.insert(0, os.path.join(PROJECT_ROOT, 'apps'))

Then you can use all the apps in this folder just in the same way as they were in your project root!

Comments