crispy-bulma 0.12.0
Bulma template pack for django-crispy-forms
License: MIT
Requires Python: >=3.8
Keywords: forms, django, crispy, bulma

============
crispy-bulma
============

.. image:: https://img.shields.io/badge/license-MIT-blue.svg
        :target: https://github.com/ckrybus/crispy-bulma/blob/main/LICENSE
.. image:: https://img.shields.io/github/actions/workflow/status/ckrybus/crispy-bulma/test.yml?branch=main
        :target: https://github.com/ckrybus/crispy-bulma/actions
        :alt: GitHub Workflow Status
.. image:: https://img.shields.io/pypi/v/crispy-bulma
        :target: https://pypi.python.org/pypi/crispy-bulma
        :alt: PyPI
.. image:: https://img.shields.io/pypi/pyversions/crispy-bulma
        :target: https://pypi.python.org/pypi/crispy-bulma
        :alt: PyPI - Python Version
.. image:: https://img.shields.io/pypi/djversions/crispy-bulma
        :target: https://pypi.python.org/pypi/crispy-bulma
        :alt: PyPI - Django Version

Bulma_ template pack for django-crispy-forms_

.. _Bulma: https://bulma.io/
.. _django-crispy-forms: https://github.com/django-crispy-forms/django-crispy-forms

Documentation: https://crispy-bulma.readthedocs.io.


Requirements
------------

Officially supported versions:

* Django: 4.2, 5.0, 5.1, 5.2
* Python 3.8, 3.9, 3.10, 3.11, 3.12, 3.13
* django-crispy-forms 2.0, 2.1, 2.2, 2.3, 2.4
* Bulma.css >= 0.9.4 (tested until 1.0.4)


Quickstart
----------

Install this plugin using ``pip``::

    $ pip install crispy-bulma

You will need to update your project's settings file to add ``crispy_forms``
and ``crispy_bulma`` to your projects ``INSTALLED_APPS``. Also set
``bulma`` as and allowed template pack and as the default template pack
for your project::

    INSTALLED_APPS = (
        ...
        "crispy_forms",
        "crispy_bulma",
        ...
    )

    CRISPY_ALLOWED_TEMPLATE_PACKS = ("bulma",)

    CRISPY_TEMPLATE_PACK = "bulma"


Credits
-------

* This project is based on an archived `crispy-forms-bulma <https://github.com/python-discord/django-crispy-bulma>`__ fork by Discord
* The original `crispy-forms-bulma <https://github.com/jhotujec/crispy-forms-bulma>`__ project is by Jure Hotujec

* This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage


Related projects
----------------

crispy-bulma's focus is on form handling. This project assumes that you have already integrated bulma into your project, either manually or using some other package. If crispy-bulma does not meet your needs maybe one of these projects is of interest to you:

* `django-bulma <https://github.com/timonweb/django-bulma>`__ - an alternative way to use bulma forms. Does not use crispy forms.

* `django-simple-bulma <https://github.com/lemonsaurus/django-simple-bulma>`__ - can be used together with this project. Provides bulma integration and ads support for bulma extensions.


License
-------

MIT license


=======
History
=======


0.12.0 (2025-05-11)
-------------------

* Feature: add support for ``Fieldset``. Feature contributed by DaeronAlagos.
* Add support for Bulma 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4
* Add support for Django 5.1
* Add support for Django 5.2
* Add support for Python 3.13
* Add support for django-crispy-forms 2.2, 2.3, 2.4


0.11.0 (2023-12-06)
-------------------

* Add support for Django 5.0
* Drop support for Django 3.2, 4.0 and 4.1
* Add support for django-crispy-forms 2.1
* BREAKING CHANGE: help text id attribute is now differently named:
  ``hint_{{ field.auto_id }}`` -> ``{{ field.auto_id }}_helptext``


0.10.0 (2023-07-03)
-------------------

* Drop support for Python 3.7
* Add support for Python 3.12
* Add support for Django 4.2


0.9.0 (2023-03-05)
------------------

* Drop support for django-crispy-forms 1.12.0, 1.13.0 and 1.14.0
* Add support for django-crispy-forms 2.0
* Drop support for Django 2.2


0.8.3 (2023-01-31)
------------------

* Fix Select widget error state rendering (the red border was missing).


0.8.2 (2023-01-29)
------------------

* Add support for Django 4.1
* Add support for Python 3.11


0.8.1 (2023-01-22)
------------------

* Fix DateField, DateTimeField and TimeField widget rendering
* Fix DecimalField, FloatField, IntegerField and URLField widget rendering. Fix contributed by pythonbrad.
* Fix FileUploadInput widget rendering. Fix contributed by pythonbrad.
* Fix passing attributes to IconField. Fix contributed by davy39.


0.8.0 (2022-04-28)
------------------

* Feature: add ``FormGroup`` layout object
* Fix ``Submit`` and ``Reset`` input rendering
* BREAKING CHANGE: ``Button`` is now rendered as ``<button></button>``.
  For ``<input type="submit" />`` use ``Submit``.
* BREAKING CHANGE: Redesign IconField. Instead of ``IconField("envelope")`` call it with the
  full icon class e.g. ``IconField("fa fa-envelope")``.
* Drop support for Django 3.1
* Drop support for Python 3.6


0.7.0 (2022-04-17)
------------------

* Fix FormHelper.field_template attribute
* Feature: add InlineCheckboxes field
* Feature: add InlineRadios field
* Add support for django-crispy-forms 1.14.0
* Add support for Python 3.10


0.6.0 (2022-04-15)
------------------

* Add support for Django 4.0
* Fix SelectMultiple widget rendering


0.5.1 (2022-04-14)
------------------

* Readd templatetags removed by mistake.


0.5.0 (2022-04-13)
------------------

* Drop support for Django 3.0
* Upgrade crispy_forms dependency, now version >= 1.12.0 is required


0.4.0 (2022-04-13)
------------------

* Feature: add ``label_class`` helper attribute
* Feature: add support for horizontal forms
* BREAKING CHANGE: HTML in labels is now being escaped, this is consistent with django.
* BREAKING CHANGE: EmailField and EmailInput have been removed. Use django.forms.EmailField instead.
* Feature: add support for forms.MultipleChoiceField with CheckboxSelectMultiple as widget.


0.3.1 (2022-04-08)
------------------

* Fix input wrapper, replace p tag with a div
* Fix checkbox rendering, the input was rendered twice
* Initial version by ckrybus (tests, docs, packaging, no logic changes)


0.3.0 (2020-03-22) [#discord]_
------------------------------

* Add support for django 3.0


0.2.0 (2019-12-12) [#discord]_
------------------------------

* Update dependency pinning


0.1.2 (2019-04-02) [#discord]_
------------------------------

* Add EmailInput widget


0.1.1 (2019-01-15) [#discord]_
------------------------------

* Update docs


0.1.0 (2019-01-13) [#discord]_
------------------------------

* Initial version by discord.


1.1.3 (2017-11-06) [#jhotujec]_
-------------------------------

* Added input with icons


1.1.2 (2017-11-06) [#jhotujec]_
-------------------------------

* Added template for non-field errors
* Fix radio select, which now appears inline
* Fix form actions template (submit, reset)


1.1.1 (2017-11-06) [#jhotujec]_
-------------------------------

* Initial version by @jhotujec


.. rubric:: Footnotes

.. [#discord] At that time the project was called https://github.com/python-discord/django-crispy-bulma

.. [#jhotujec] At that time the project was called https://github.com/jhotujec/crispy-forms-bulma