This is a Django DRF template with a simple user model and JWT authentication.
- Password based authentication
- Role based authroization
- Structured Logging
- translation
- Custom user model
- DB support for Postgres
- Docker support
- Swagger documentation
- Custom permission classes
- Custom group based permission classes
- Custom throttling classes
- Django signals
- Django cache
- DB routers
- Tests
- Structured api response
- DB seeding
- Clone the repository
- Create a virtual environment
- Install the dependencies
- Run the server
python -m venv .venv
source .venv/bin/activate
ENV=development python manage.py runserver
or
ENV=production python manage.py runserver- Generate translation files:
python manage.py makemessages -l en_IN django-admin compilemessages-
python manage.py makemigrations users python manage.py migrate python manage.py createsuperuser python manage.py runserver
- Check for errors:
python manage.py check - Create superuser:
python manage.py createsuperuser - Run the server:
python manage.py runserver - Run tests:
python manage.py test - Run tests with coverage:
coverage run --source='.' manage.py test && coverage report - Generate translation files:
python manage.py makemessages -l en_IN - Compile translation files:
django-admin compilemessages - Generate migration files:
python manage.py makemigrations - Migration:
python manage.py migrate