This release is a pre-release and may not be stable for production use.
django-formwork
django-formwork applies DaisyUI styling to Django forms and ships a small set of widgets that lean on htmx and Alpine.js. Set FORM_RENDERER once, include the CSS and JS template tags, and {{ form }} produces DaisyUI markup. The admin is unaffected; it renders widgets directly, never {{ form }} or as_field_group().
Quick start
pip install django-formwork
# settings.py
INSTALLED_APPS = [..., "django_formwork"]
FORM_RENDERER = "django_formwork.FormworkRenderer"
{% load formwork %}
{% formwork_css %}
{{ form }}
{% formwork_js %}
Widgets
Toggle, Range, Rating, PasswordReveal, SearchSelect, MultiSelect, ComboBox, DataList, FileDropZone, ImageDropZone, ValidatedTextarea, DatePicker, InputNumber, InputMask, OTPInput, PhoneInput, CountryInput. The three dropdown widgets auto-register a server-side search endpoint when used on a FormworkForm. ValidatedTextarea does the same for live server-side text validation.
htmx 4 integration
{% formwork_js %} loads formwork.js as an ES module. It imports formwork-core.js (the formwork-morph htmx extension, dirty-field tracking, native validation disabling) and each widget's Alpine component. Per-form {{ form.media }} and bundler imports are also supported; details are in the installation docs.
Requirements
Python 3.14+, Django 6.0, DaisyUI 5, Tailwind CSS 4. DaisyUI and Tailwind are not bundled.
Documentation
https://oliverhaas.github.io/django-formwork/
Contributing
Screenshot baselines under tests/widgets/screenshots/ use Git LFS. Install it once globally before cloning:
sudo apt install git-lfs # or brew install git-lfs
git lfs install
If you cloned before installing LFS, run git lfs install && git lfs pull to fetch the PNG bytes.
License
BSD 3-Clause. See LICENSE.
Metadata
Release files for django-formwork 0.1.0a2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django_formwork-0.1.0a2.tar.gz | 64.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_formwork-0.1.0a2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 164.0 kB
Release files / django_formwork-0.1.0a2.tar.gz
| Download URL | django_formwork-0.1.0a2.tar.gz |
|---|---|
| Size | 64.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bc6544bcd3fdcf6006c2497f700662e7b371dd6526adaaa55d5b0ef40f65b643
|
|
BLAKE2b-256 checksum How to use checksums |
d26017ee6ad55960aa42073a7b60a0b0ece00d010526d4b8af9d9dd31191cdc4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 18, 2026.
Transparency logRelease files / django_formwork-0.1.0a2-py3-none-any.whl
| Download URL | django_formwork-0.1.0a2-py3-none-any.whl |
|---|---|
| Size | 99.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
44e345b2c62e884b158f8bef8af77b57aa0450b0eaa06d13803dbd551b57d607
|
|
BLAKE2b-256 checksum How to use checksums |
5cf46aa67169a51d649182af102c2cbae862d63c17910833237573e0f41ea194
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 18, 2026.
Transparency log