Rapid Django

Rapid Django is a set of opinionated tools for rapid development of enterprise CRUD portals.

It generates CRUD pages, menus, and some other simple actions, based on a registry of models, forms and views. While, letting you easily escape into bare Django for the more complex views.

How to Use

Add the rapid application to your installed apps, and run a database migration. Create a base.html template that will be used by the CRUD generator. A minimum template looks as following::

<DOCTYPE html>
   <html>
   <head>
       <link href="link to bootstrap" rel="stylesheet">
       <link href="link to fontawesome" rel="stylesheet">
       <script src="link to jquery"></script>
   </head>
   <body>
       {% load rapid_menu %}
       {% menu request %}
       {% block body %}{% endblock %}
       <script src="link to the jquery-form plugin">
   </body>
   </html>

A menu will be generated in a unnumbered list (UL) at the menu tag, and the registered data will be placed at the body block.

After that, one must register actions. For that, the module rapid.views has three helper functions: register_model, register_instance_form, and register_simple_select.

Use register_model for creating default actions for listing, viewing, editing, adding, and optionally removing objects of a model.

Use register_instance_form for creating custom actions where users submit a form, and act upon instances of a model. The form may not be a ModelForm, but must implement the save() method.

Use register_simple_select for enabling the rapid select widget for all generated edit forms with fields that select the registered model (that is, foreign key, one to one, and one to many fields, besides reverse relationships).

The module rapid.permissions includes helper functions for managing user permissions on the registered actions. Permissions may be managed for entire models and for instances (but not columns yet).