A proper flexible Python form library
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for proper_forms-0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b98d94dd1e5ed2e2bac41ae329f104b20e477862341dded0752e4585fc8afb7a |
|
MD5 | b335ccbf1d482117d1f53e44c2c6be79 |
|
BLAKE2b-256 | 53020cad1f21b4e69ff0a76f57770080089ff2ee8e70e65d2aa8044f0f084afb |