Skip to main content

Best way to have Django DRY forms

Project description

https://github.com/django-crispy-forms/django-crispy-forms/actions/workflows/main.yml/badge.svg https://img.shields.io/badge/code%20style-black-000000.svg http://codecov.io/github/django-crispy-forms/django-crispy-forms/coverage.svg?branch=main

The best way to have Django DRY forms. Build programmatic reusable layouts out of components, having full control of the rendered HTML without writing HTML in templates. All this without breaking the standard way of doing things in Django, so it plays nice with any other form application.

django-crispy-forms supports Django 5.2+ with Python 3.10+.

Looking for Bootstrap 5 support? See the crispy-bootstrap5 package.

The application mainly provides:

  • A filter named |crispy that will render elegant div based forms. Think of it as the built-in methods: as_table, as_ul and as_p. You cannot tune up the output, but it is easy to start using it.

  • A tag named {% crispy %} that will render a form based on your configuration and specific layout setup. This gives you amazing power without much hassle, helping you save tons of time.

Django-crispy-forms supports several frontend frameworks, such as Twitter Bootstrap (versions 2, 3, and 4), tailwind, Bulma and Foundation. You can also easily adapt your custom company’s one, creating your own, see the docs for more information. You can easily switch among them using CRISPY_TEMPLATE_PACK setting variable.

Authors

django-crispy-forms is the new django-uni-form. django-uni-form was an application created by Daniel Greenfeld that I led since version 0.8.0. The name change tries to better explain the purpose of the application, which changed in a significant way since its birth.

If you are upgrading from django-uni-form, we have instructions for helping you.

Example

This is a teaser of what you can do with latest django-crispy-forms. Find here the gist for generating this form:

http://i.imgur.com/LSREg.png

Documentation

For extensive documentation see the docs folder or read it on readthedocs

Special thanks

  • To Daniel Roy Greenfeld (@pydanny) for his support, time and the opportunity given to me to do this.

  • The name of the project was suggested by the fantastic Audrey Roy Greenfeld (@audreyfeldroy)

  • To Kenneth Love (@kennethlove) for creating django-uni-form-contrib from which bootstrap template pack was started.

  • To Adam Johnson (@adamchainz) for the project’s logo.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_crispy_forms-2.6.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_crispy_forms-2.6-py3-none-any.whl (31.5 kB view details)

Uploaded Python 3

File details

Details for the file django_crispy_forms-2.6.tar.gz.

File metadata

  • Download URL: django_crispy_forms-2.6.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for django_crispy_forms-2.6.tar.gz
Algorithm Hash digest
SHA256 4921a1087c6cd4f9fa3c139654c1de1c1c385f8bd6729aaee530bc0121ab4b93
MD5 fd17582182fde8bde5f3ad6252aa7c07
BLAKE2b-256 7342c2cfb672493730b963ef377b103e29871c56348a215d0ae8cf362fe8ab1e

See more details on using hashes here.

File details

Details for the file django_crispy_forms-2.6-py3-none-any.whl.

File metadata

File hashes

Hashes for django_crispy_forms-2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 8ee0ae28b6b0ac41ff48a65944480c049fe8d1b0047086874fd7efabf4ec1374
MD5 6c45e06bdef246a29905cf96d1300036
BLAKE2b-256 96e34c5915a732d6ab54da8871400852b67529518eedfb6b78ecf10bbccfcabb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page