All Projects → peopledoc → django-formidable

peopledoc / django-formidable

Licence: MIT License
On the way to glory! again!

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to django-formidable

Form For
ReactJS forms made easy
Stars: ✭ 118 (+521.05%)
Mutual labels:  forms, form-builder
formio
Formio, form definition and binding library for Java platform
Stars: ✭ 24 (+26.32%)
Mutual labels:  forms, form-builder
Form Manager
PHP library to create and validate html forms
Stars: ✭ 124 (+552.63%)
Mutual labels:  forms, form-builder
Formium
The headless form builder for the modern web.
Stars: ✭ 78 (+310.53%)
Mutual labels:  forms, form-builder
react-forms-processor
A forms processor for React
Stars: ✭ 63 (+231.58%)
Mutual labels:  forms, form-builder
Rsformview
A Cocoapods library designed to easily create forms with multiple data entry fields
Stars: ✭ 84 (+342.11%)
Mutual labels:  forms, form-builder
ember-formly
JavaScript powered forms for Ember
Stars: ✭ 24 (+26.32%)
Mutual labels:  forms, form-builder
Forms Angular
Probably the most opinionated framework in the world
Stars: ✭ 412 (+2068.42%)
Mutual labels:  forms, form-builder
Core
The Form Tools Core.
Stars: ✭ 156 (+721.05%)
Mutual labels:  forms, form-builder
Ngx Formly
JSON powered / Dynamic forms for Angular
Stars: ✭ 2,109 (+11000%)
Mutual labels:  forms, dynamic-forms
Usetheform
React library for composing declarative forms, manage their state, handling their validation and much more.
Stars: ✭ 40 (+110.53%)
Mutual labels:  forms, form-builder
django-siteforms
Django reusable app to simplify form construction
Stars: ✭ 15 (-21.05%)
Mutual labels:  forms, form-builder
Django Rest Formly
Generate angular-formly form configuration object for Django REST endpoints.
Stars: ✭ 7 (-63.16%)
Mutual labels:  forms, form-builder
Uniforms
A React library for building forms from any schema.
Stars: ✭ 1,368 (+7100%)
Mutual labels:  forms, form-builder
Xlform
XLForm is the most flexible and powerful iOS library to create dynamic table-view forms. Fully compatible with Swift & Obj-C.
Stars: ✭ 5,750 (+30163.16%)
Mutual labels:  forms, dynamic-forms
Forms
📝 Simple form & survey app for Nextcloud
Stars: ✭ 127 (+568.42%)
Mutual labels:  forms, form-builder
Django Fobi
Form generator/builder application for Django done right: customisable, modular, user- and developer- friendly.
Stars: ✭ 360 (+1794.74%)
Mutual labels:  forms, form-builder
React Hook Form
📋 React Hooks for form state management and validation (Web + React Native)
Stars: ✭ 24,831 (+130589.47%)
Mutual labels:  forms, form-builder
Formmaster
Easily build big and bigger forms with minimal effort
Stars: ✭ 152 (+700%)
Mutual labels:  forms, form-builder
view component-form
Rails FormBuilder for ViewComponent
Stars: ✭ 120 (+531.58%)
Mutual labels:  forms, form-builder

django-formidable

docs/source/_static/formidable-logo.png

https://circleci.com/gh/peopledoc/django-formidable.svg?style=svg&circle-token=6f273f564e1e44f702aef7c1d00baff74609c791

django-formidable is a full django application which allows you to create, edit, delete and use forms.

Warnings

  • Python Compatibility : 3.6, 3.7, 3.8
  • Django compatibility : Django 2.2.
  • Django REST Framework : Compatible from the version 3.9.x to 3.11.x

See the Deprecation timeline document for more information on deprecated versions.

License

MIT License

Documentation

Latest version of the documentation: http://django-formidable.readthedocs.io/en/latest/

If you want to build the documentation locally, you can try to run one of the following:

$ make docs
$ tox -e docs

Note

A recent version of tox must be available on your system.

You can also browse the documentation locally, using the following, for example:

$ make docs serve-docs

About the model graph

On the "intro" page of the documentation, you can see a graph of the different Django models defined in the application.

To generate this graph, you'll need to have graphviz installed on your system.

When you're ready, you may initiate this generation using:

$ tox -e django_graph

Quick-Start

Install

$ pip install django-formidable

Configure

Define Roles

django-formidable allows access to a single form by different roles. The same form can thus be rendered in different ways. If you don't need to handle multiple roles you must still define at least one default role.

Define a method which returns a list of formidable.accesses.AccessObject:

def get_roles(self):
    return [
        AccessObject(id='padawan', label='Padawan'),
        AccessObject(id='jedi', label='Jedi')
    ]

Fill the settings key:

FORMIDABLE_ACCESS_RIGHTS_LOADER = 'yourproject.access_rights.get_roles'

Get context

While accessing a form for a specific role, you need to provide a way in which to get the correct context to use.

request and kwargs are fetched from the view (self.request, self.kwargs)

def get_context(request, kwargs):
    return request.user.user_type

Next fill the setting key FORMIDABLE_CONTEXT_LOADER

FORMIDABLE_CONTEXT_LOADER = 'yourprojects.access_rights.get_context'

Define URLs

URLs are defined in formidable.urls. You can load them with the following line:

url(r'^api/', include('formidable.urls', namespace='formidable'))

By default, the views are not accessible, the permissions loaded are fully restrictive. To allow any access to the view fill your settings with

FORMIDABLE_DEFAULT_PERMISSION=['rest_framework.permissions.AllowAll']

To handle special permissions, please refer to the online documentation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].