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.5.tar.gz (18.6 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.5-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: proper_forms-0.5.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.4

File hashes

Hashes for proper_forms-0.5.tar.gz
Algorithm Hash digest
SHA256 12ba2acef1f440bc5c2e5428ef9ff36ed9099223fc67b8abce6219f73efc6591
MD5 d2998c12b9c34bf7a92df33634ef961c
BLAKE2b-256 803c221b18ac7858600f73bafce989bd35681765736a68cc66aebcac4200dc1e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: proper_forms-0.5-py3-none-any.whl
  • Upload date:
  • Size: 25.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.4

File hashes

Hashes for proper_forms-0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a30a20aa0d1c3a2e052319a04ffaefb2188cb37fa83460258610298fb8fd2b04
MD5 c4940bcae71976d0b5677cb3698fbe2f
BLAKE2b-256 5022a27ead72759c6b3c68fcac7c4704a49aba0d917a6cc80f50aebe423c341d

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