Laying out and organizing a development project (Django or otherwise) is a task to which many people do not give much consideration, typically deferring to some default layout. This default layout is usually obtained in one of several ways:
- using Django's admin tool (django-admin.py startproject) to create a new project
- copying an old project and using it as the basis of the new project
- cloning a project found on GitHub or elsewhere and stripping it down to its bones
Most developers won't stop to think about the project layout and whether a different alternative may work better. Many don't even realize that there are different ways you can layout a Django project.