Djate
| Pronounced झाटे acronym for Django Awesome Template
What is Djate?
Djate is a simple yet effective Django template that is beginner-friendly and intended for production use (in future)
Purpose
The purpose of this template is to simplify testing in Django, making it quick and easy without the hassle of manual setup. Instead of manually installing packages like django-rest-framework
, celery
, celery-backend
, and flower
, you can get everything up and running with just one click and a single command.
Physical Architecture
When you run the following command, the setup will be created using docker-compose
.
Webserver:
The webserver is based on Django and comes preinstalled with Django, Django REST framework (DRF), requirements.txtdrf_yasg
for API documentation, and other essential packages. You can find the full list of dependencies in
Database:
The default database used in Djate is SQLite, as it’s lightweight and suitable for quick testing and learning about Django internals. However, there's an open discussion to consider switching to PostgreSQL as the default database.
Message Queue:
Djate uses Redis as the message queue for Celery. Redis is a popular and efficient transport for managing background tasks in Django.
Flower:
Flower is included for Celery task monitoring. It allows you to monitor the status of Celery tasks and queues. Flower runs on port 7777
with the following default credentials:
Username: admin Password: pswd
Flower runs on port 7777. Suiiiii!
Code Architecture:
Djate follows the standard Django project structure with apps
and manage.py
in the root directory. Each app has components such as views.py
, models.py
, urls.py
, etc. Celery tasks are defined in tasks.py
for each application.
The code architecture also leverages Django REST Framework (DRF) generics and viewsets for building APIs efficiently.
Integration