Primary Authors
@wesleykendall (Wes Kendall)
@romansul (Roman Sul)
@chang-brian (Brian Chang)
Easily create actions and various interfaces around them.
django-action-framework (daf) provides the ability to generate a number of diverse interfaces from a single action definition. What is an action? It’s a function. By writing a function and providing a few hints about the characteristics of your function, you can:
Generate a form view from the function with proper form validation.
Generate an update view on a model object that is passed to the function.
Generate a bulk update view on multiple objects. These objects can be parametrized over a function expecting one object, meaning your detail and bulk views share the same code when desired.
Generate wizard views to collect function arguments over multiple steps, even if the steps are conditional.
Natively integrate these views into the Django admin as model, detail, or bulk actions.
Generate Django Rest Framework actions on your viewsets.
daf removes the boilerplate and cognitive overhead of maintaining validation logic, view logic, and update logic spread across Django views, models, admin interfaces, API endpoints, and other locations in a Django project. daf allows the engineer to focus on writing one clear and easily-testable piece of business logic while treating complex UI and APIs as an extension of the function rather than a piece of intertwined code.
For examples and a full tutorial of how to use django-action-framework, check out the docs.
Install django-action-framework with:
pip3 install django-action-framework
After this, add daf to the INSTALLED_APPS setting of your Django project.
Also ensure the following apps are in INSTALLED_APPS:
django.contrib.admin
django.contrib.auth
django.contrib.contenttypes
django.contrib.humanize
django.contrib.staticfiles
For information on setting up django-action-framework for development and contributing changes, view CONTRIBUTING.rst.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4129b106faca376a13c685498d09fc326e88c3d329332916db562c780edcfb1 |
|
MD5 | 30d18717c06a0bee66a06fda3520b2c5 |
|
BLAKE2b-256 | a4230ad329645d7d980d5d9d8344cee245fa5dc8e5b826f56f819ebbd91afb94 |
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8119131d31bced4e8c9116f285ef1801b0790c548909b4ac857a80fab26f801d |
|
MD5 | 7168d87ae621846242f683a5b363e38f |
|
BLAKE2b-256 | 2634223389bb4f681643972f02e504a6efd33149a2966cfa373e476fab32fa9a |