9dfa5b7154 | ||
---|---|---|
apps | ||
config | ||
deployments | ||
docs | ||
requirements | ||
.env.example | ||
.gitignore | ||
README.md | ||
entrypoint.sh | ||
manage.py | ||
pytest.ini |
README.md
Django Project Structure
This is a template/project structure for developing django-based applications -
either strictly through the django-rest-framework
or just django
.
The project is meant to be easily clonable, and used as the starter template for the next big thing our team develops.
Project Tree
.
├── apps
│ ├── app
│ │ ├── api
│ │ │ ├── v1
│ │ │ │ ├── __init__.py
│ │ │ │ ├── serializers.py
│ │ │ │ ├── services.py
│ │ │ │ ├── tests.py
│ │ │ │ ├── urls.py
│ │ │ │ └── views.py
│ │ │ ├── v2
│ │ │ │ ├── __init__.py
│ │ │ │ ├── serializers.py
│ │ │ │ ├── services.py
│ │ │ │ ├── tests.py
│ │ │ │ ├── urls.py
│ │ │ │ └── views.py
│ │ │ └── __init__.py
│ │ ├── management
│ │ │ ├── commands.py
│ │ │ └── __init__.py
│ │ ├── migrations
│ │ │ └── __init__.py
│ │ ├── templates
│ │ ├── tests
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── __init__.py
│ │ ├── models.py
│ │ ├── urls.py
│ │ ├── utils.py
│ │ └── views.py
│ └── second_app
│ ├── migrations
│ │ └── __init__.py
│ ├── templates
│ ├── admin.py
│ ├── apps.py
│ ├── __init__.py
│ ├── models.py
│ ├── service.py
│ ├── tests.py
│ └── views.py
├── config
│ ├── settings
│ │ ├── base.py
│ │ ├── development.py
│ │ ├── __init__.py
│ │ ├── local.py
│ │ ├── local_template.py
│ │ └── production.py
│ ├── asgi.py
│ ├── __init__.py
│ ├── urls.py
│ └── wsgi.py
├── deployments
│ ├── django-project
│ │ └── Dockerfile
│ ├── nginx
│ │ ├── default.conf
│ │ └── Dockerfile
│ └── docker-compose.yml
├── docs
│ ├── CHANGELOG.md
│ ├── CONTRIBUTING.md
│ ├── deployment.md
│ ├── local-development.md
│ └── swagger.yaml
├── requirements
│ ├── common.txt
│ ├── development.txt
│ ├── local.txt
│ └── production.txt
├── static
├── entrypoint.sh
├── manage.py
├── pytest.ini
└── README.md
Rationale
apps
- A mother-folder containing all apps for our project.
- An app can be a django template project, or an api
config
- Contains project configuration files, including the primary URL file
- Contains settings split into
base
,local
,production
anddevelopment
deployments
- Contains Docker and nginx specific files for deploying in different environments