There are several thoughts of how to do this best, and only you and your team can find out what works best for you. The Django tutorial recommends keeping apps in parallel to the configuration directory. My team has settled on a few things over time:
From the project root:
.gitignore
manage.py
README.md
+---config
+---urls.py
+---wsgi.py
+---settings.py
+---requirements
+---templates
+---static
+---app1
+---models.py, etc
+---app2
Some prefer another directory layer above the project level, but that has felt like overkill to our projects. We have settled as a team on naming each project's configuration subdirectory config
, rather than the project name repeated. This is just personal preference, but has worked for us. Good luck!