Skip to main content

A proper flexible Python form library

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

Proper Forms

Proper Forms is a flexible form library to make far easier to create beautiful, semantically rich, syntactically awesome, readily stylable and wonderfully accessible HTML forms in your Python web application.

Documentation: https://proper-forms.scaletti.dev

pip install proper-forms

How Proper Forms is different

  • A field isn't tied to a specific HTML tag, so can be presentend in multiple ways. Even the same form can be used in different contexts and have different widgets and styles on each. A set of options as checkboxes, a select multiple, or a comma-separated input? You got it. A date as a calendar or as three selects? No problem.

  • Many commonly used built-in validators, and you can also write simple functions to use as custom ones.

  • Any field can accept multiple values; as a list or as a comma-separated text.

  • All error messages are customizable. The tone of the messages must be able to change or to be translated.

  • Incredible easy to integrate with any ORM (object-relational mapper). Why should you need another library to do that?

Just show me how it looks

from proper_forms import Form, Email, Text


class CommentForm(Form):
    email = Email(required=True, check_dns=True)
    message = Text(
    	LongerThan(5, "Please write a longer message"),
    	required=True
    )


def comment():
    form = CommentForm(request.POST)
    if request.method == "POST" and form.validate():
    	data = form.save()
        ...
    return render_template("comment.html", form=form)

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

proper_forms-0.7.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

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

proper_forms-0.7-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

Details for the file proper_forms-0.7.tar.gz.

File metadata

  • Download URL: proper_forms-0.7.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.9.16 Linux/5.15.0-1031-azure

File hashes

Hashes for proper_forms-0.7.tar.gz
Algorithm Hash digest
SHA256 1b79c9d90341a216ea584a5ad7bd5ddfcace8496de584f62b25dc27c951bc1ad
MD5 b039110792081460ae4d78a712ea855e
BLAKE2b-256 534035ebe5b38bb598834b8153dd3a06583d6c2ac7fb7650362d19783fb5f9f6

See more details on using hashes here.

File details

Details for the file proper_forms-0.7-py3-none-any.whl.

File metadata

  • Download URL: proper_forms-0.7-py3-none-any.whl
  • Upload date:
  • Size: 25.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.9.16 Linux/5.15.0-1031-azure

File hashes

Hashes for proper_forms-0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 b98d94dd1e5ed2e2bac41ae329f104b20e477862341dded0752e4585fc8afb7a
MD5 b335ccbf1d482117d1f53e44c2c6be79
BLAKE2b-256 53020cad1f21b4e69ff0a76f57770080089ff2ee8e70e65d2aa8044f0f084afb

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