Why?
Standard Django comes with a lot of batteries, but even with them it's up to you to implement such basic features like:
- Auth workflow, Login/Registration
- Custom user model
- CORS + JWT
This features implemented in this template:
Features:
- Custom user model
- JWT auth via
simple-JWT
- Local settings
- CORS
- Login and registration views
- Change password view
Planned:
- Reset password view
- User notification mechanism
- Docker
- CI-CD
- Swagger (?)
- Sentry (?)
Required
Optional
pip install -r requirements.txt
cd ./src/core
echo local_settings.template.py > local_settings.py
python src/manage.py test
- Django codestyle.
- Use docstrings.
- KISS + DRY.
- Use Django best practices.
- Make fat models. Don't write business-logic in views.
- Use PEP-484 type-hints when possible.
- Use GenericRelations
- Use Manager
- Don't use signals for business logic.
- Use django translation.
- Put business logic in
service.py
files