Metadata-Version: 2.1
Name: django-dynaform
Version: 0.1.1
Summary: Dynamic form for Django
Home-page: https://github.com/loghmanb/django-dynaform
Author: Loghman Barari
Author-email: loghmanb@gmail.com
License: BSD
Project-URL: Source, https://github.com/loghmanb/django-dynaform
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 3.0
Classifier: Framework :: Django :: 3.1
Classifier: Framework :: Django :: 3.2
Classifier: Framework :: Django :: 4.0
Classifier: Framework :: Django :: 4.1
Classifier: Framework :: Django :: 4.2
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Internet :: WWW/HTTP
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: django>=3.0
Requires-Dist: backports.zoneinfo; python_version < "3.9"

# django-dynaform
Dynamic form for Django framework

![PyPI](https://img.shields.io/pypi/v/django-dynaform?label=django-dynaform)

## Overview

Dynamic Django forms allow users to define, edit, and populate their own entities and apply runtime schema changes to them. `django-dynaform` is a unique tools to empower your project with more dynamicity with minimum database changes. It is ideal and unique tools for frequently changing and/or temporary data structures. It is the goal of this project to provide a bring dynamicity with maximum benefit to a project with less effort.

[This package](https://pypi.org/project/django-dynaform/) provides models to help admin users quickly add/change/drop dynamic models for their specific use case, and use them in dynamic templates. The schema changes are applied in the runtime, *without* database metadata changes, so it could use in dynamic templates with zero downtime and any side effects of changing in data structure.

> **Disclaimer**:
> 
> It is not recommended to use this project for business critical data due to the high potential for data loss. Tables can be dropped very easily, and without backups, even a small user error could be catastrophic.

## Example project

You can download an example project from https://github.com/loghmanb/django-dynaform/tree/main/example
go to the folder and run below commands

```shell
$ pip install -r requirements.txt
$ python manage.py loaddata sample-data.json.gz
$ python manage.py runserver 0:8000
```

## Documentation

See the [wiki](https://github.com/loghmanb/django-dynaform/wiki) for documentation.
