Framework for safe and maintainable web-projects.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
djburger
example
requirements
tests
wiki
.gitignore
.travis.yml
LICENSE
MANIFEST.in
README.md
README.rst
deploy.sh
run_tests.py
setup.cfg
setup.py
tox.ini

README.md

DjBurger

DjBurger logo

Build Status Documentation PyPI version Status Code size License

DjBurger -- framework for safe and maintainable web-projects.

What DjBurger do?

  • Split Django views into steps for secure and clean code.
  • Provide built-in objects for all steps.
  • Integrates this many side libraries like Django REST Framework and Marshmallow.

DjBurger doesn't depend on Django. You can use it in any projects if you want.

Read more into documentation.

Key principles

  1. Validation logic is separate from the main logic.
  2. Reusable logic for many views.
  3. Reusable input and output data formats.
  4. More clean views.

Dataflow

  1. Decorators. Feel free to use any side Django decorators like csrf_exempt.
  2. Parser. Parse request body.
  3. PreValidator. Validate and clear request.
  4. PreRenderer. Render and return PreValidation errors response.
  5. Controller. Main logic: do some things.
  6. PostValidator. Validate and clear response.
  7. PostRenderer. Render and return PostValidation errors response.
  8. Renderer. Render successful response.

Scheme

Required only Controller and Renderer.

Explore

  1. Read documentation.
  2. See example project.
  3. For quick help just inspect djburger from python console (for example, help('djburger.views')).
  4. If you have some questions then view issues or create new.
  5. If you found some mistakes then fix it and create Pull Request. Contributors are welcome.
  6. Star this project on github :)