django-form-builder


Namedjango-form-builder JSON
Version 1.2.1 PyPI version JSON
download
home_pagehttps://github.com/UniversitaDellaCalabria/django-form-builder
SummaryDjango Form builder
upload_time2024-06-27 07:41:15
maintainerNone
docs_urlNone
authorGiuseppe De Marco, Francesco Filicetti
requires_pythonNone
licenseApache 2.0
keywords
VCS
bugtrack_url
requirements django filesig captcha cryptography pillow
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![CI build](https://github.com/UniversitaDellaCalabria/django-form-builder/workflows/django-form-builder/badge.svg)
![Python version](https://img.shields.io/badge/license-Apache%202-blue.svg)
![License](https://img.shields.io/badge/python-3.5%20%7C%203.6%20%7C%203.7%20%7C%203.8-blue.svg)


Django Form Builder
-------------------

A Django Framework application to build dynamic forms, with widgets and Django's standards, using JSON objects.

Forms can be saved in a configurable storage (or settings.py). Users that requires high levels of customization will find what they're look for.

Consult the [Official Documentation](https://django-form-builder.readthedocs.io/en/latest/index.html) at readthedocs for usage specifications and advanced topics.

![Home](docs/source/images/dyn_form_building.png)
_**Image 1:** Example of Dynamic Form built via frontend_

![Home](docs/source/images/dyn_form_preview.png)
_**Image 2**: Preview of the builded form_

Features
--------

- Forms definitions via JSON object
- Save compiled form as JSON objects in model db and get its structure and contents with a simple model method call
- Override form constructor in order to add static common fields
- Create input fields using heritable classes, with customizable validation methods
- Manage [Django Formset](https://docs.djangoproject.com/en/2.2/topics/forms/formsets/) fields, with form insertion and removal via javascript;
- Manage and verify digitally signed file fields (PDF and P7M) without a certification authority validation (TODO via third-party API)
- Audio and Image Captcha

Examples
--------

Example of a dynamic form JSON in database

```json
{
  "field_1": "value_field_1",
  "field_2": "value_field_2",
  "field_3": "value_field_3",
  "attachments": {
    "p7m": "file_1.pdf.p7m",
    "pdf": "file_2.pdf"
  }
}
```

CaPTCHA
-------

In `settings.py` configure these parameters

````
CAPTCHA_SECRET = b'your_secret'
CAPTCHA_SALT = b'your_salt'
````

Tests
-----

````
# build a virtualend where to install all the requirements and requirements-dev ...
cd example
./manage.py test

# coverage
coverage erase
coverage run  ./manage.py test
coverage report -m
````


Build
-----

````
rm -R build/ dist/ *egg-info
python3 setup.py sdist
twine upload dist/*
````

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/UniversitaDellaCalabria/django-form-builder",
    "name": "django-form-builder",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "Giuseppe De Marco, Francesco Filicetti",
    "author_email": "giuseppe.demarco@unical.it, francesco.filicetti@unical.it",
    "download_url": "https://files.pythonhosted.org/packages/49/08/1e144a58e1c3b2aec7d7e63705dbcfe7b970bbe2569c6fbb14c765fc7dce/django_form_builder-1.2.1.tar.gz",
    "platform": null,
    "description": "![CI build](https://github.com/UniversitaDellaCalabria/django-form-builder/workflows/django-form-builder/badge.svg)\n![Python version](https://img.shields.io/badge/license-Apache%202-blue.svg)\n![License](https://img.shields.io/badge/python-3.5%20%7C%203.6%20%7C%203.7%20%7C%203.8-blue.svg)\n\n\nDjango Form Builder\n-------------------\n\nA Django Framework application to build dynamic forms, with widgets and Django's standards, using JSON objects.\n\nForms can be saved in a configurable storage (or settings.py). Users that requires high levels of customization will find what they're look for.\n\nConsult the [Official Documentation](https://django-form-builder.readthedocs.io/en/latest/index.html) at readthedocs for usage specifications and advanced topics.\n\n![Home](docs/source/images/dyn_form_building.png)\n_**Image 1:** Example of Dynamic Form built via frontend_\n\n![Home](docs/source/images/dyn_form_preview.png)\n_**Image 2**: Preview of the builded form_\n\nFeatures\n--------\n\n- Forms definitions via JSON object\n- Save compiled form as JSON objects in model db and get its structure and contents with a simple model method call\n- Override form constructor in order to add static common fields\n- Create input fields using heritable classes, with customizable validation methods\n- Manage [Django Formset](https://docs.djangoproject.com/en/2.2/topics/forms/formsets/) fields, with form insertion and removal via javascript;\n- Manage and verify digitally signed file fields (PDF and P7M) without a certification authority validation (TODO via third-party API)\n- Audio and Image Captcha\n\nExamples\n--------\n\nExample of a dynamic form JSON in database\n\n```json\n{\n  \"field_1\": \"value_field_1\",\n  \"field_2\": \"value_field_2\",\n  \"field_3\": \"value_field_3\",\n  \"attachments\": {\n    \"p7m\": \"file_1.pdf.p7m\",\n    \"pdf\": \"file_2.pdf\"\n  }\n}\n```\n\nCaPTCHA\n-------\n\nIn `settings.py` configure these parameters\n\n````\nCAPTCHA_SECRET = b'your_secret'\nCAPTCHA_SALT = b'your_salt'\n````\n\nTests\n-----\n\n````\n# build a virtualend where to install all the requirements and requirements-dev ...\ncd example\n./manage.py test\n\n# coverage\ncoverage erase\ncoverage run  ./manage.py test\ncoverage report -m\n````\n\n\nBuild\n-----\n\n````\nrm -R build/ dist/ *egg-info\npython3 setup.py sdist\ntwine upload dist/*\n````\n",
    "bugtrack_url": null,
    "license": "Apache 2.0",
    "summary": "Django Form builder",
    "version": "1.2.1",
    "project_urls": {
        "Homepage": "https://github.com/UniversitaDellaCalabria/django-form-builder"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "90f39056e8c64a95185e04169a29ab122529f4a650452592d977f8887a7fe89f",
                "md5": "a0ba5b27c7e260beeef01fd410439e6f",
                "sha256": "b2d8a75ae07dc1f1e287eb377b85a66ab271d3a8968cfcc1744b617441775e85"
            },
            "downloads": -1,
            "filename": "django_form_builder-1.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a0ba5b27c7e260beeef01fd410439e6f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 472704,
            "upload_time": "2024-06-27T07:41:13",
            "upload_time_iso_8601": "2024-06-27T07:41:13.140868Z",
            "url": "https://files.pythonhosted.org/packages/90/f3/9056e8c64a95185e04169a29ab122529f4a650452592d977f8887a7fe89f/django_form_builder-1.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "49081e144a58e1c3b2aec7d7e63705dbcfe7b970bbe2569c6fbb14c765fc7dce",
                "md5": "9bc1c35d0526d73db7857e45767ff791",
                "sha256": "bfb84393cf33add129d84103a3a25f175916f39d57f2b3d65c294b0797e30fa4"
            },
            "downloads": -1,
            "filename": "django_form_builder-1.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "9bc1c35d0526d73db7857e45767ff791",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 410930,
            "upload_time": "2024-06-27T07:41:15",
            "upload_time_iso_8601": "2024-06-27T07:41:15.889079Z",
            "url": "https://files.pythonhosted.org/packages/49/08/1e144a58e1c3b2aec7d7e63705dbcfe7b970bbe2569c6fbb14c765fc7dce/django_form_builder-1.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-27 07:41:15",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "UniversitaDellaCalabria",
    "github_project": "django-form-builder",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "django",
            "specs": [
                [
                    "<",
                    "5.0"
                ],
                [
                    "<=",
                    "3.2.25"
                ]
            ]
        },
        {
            "name": "filesig",
            "specs": [
                [
                    ">=",
                    "0.3"
                ]
            ]
        },
        {
            "name": "captcha",
            "specs": [
                [
                    ">=",
                    "0.3"
                ]
            ]
        },
        {
            "name": "cryptography",
            "specs": [
                [
                    ">=",
                    "2.8"
                ]
            ]
        },
        {
            "name": "pillow",
            "specs": [
                [
                    ">=",
                    "10.0.1"
                ]
            ]
        }
    ],
    "lcname": "django-form-builder"
}
        
Elapsed time: 0.26444s