Skip to main content

WTForms companion library to provide polyglot HTML output

Project description


WTForms companion library to provide polyglot HTML (i.e., XML-compatible) output.

Polyglot markup is a set of rules for how to write HTML. A document that uses polyglot markup is both a valid HTML5 document as well as a well-formed XML document, that can be served with either a text/html or an application/xhtml+xml MIME type.

This package provides the PolyglotForm class, which is built on top of WTForms’ default Form. When using PolyglotForm, fields will be rendered with polyglot markup. For example, given the following form:

from wtf_polyglot import PolyglotForm
from wtforms import BooleanField

class MyForm(PolyglotForm):
    foo = BooleanField("foo", default=True)

Rendering will result in the following XML-compliant output:

<input checked="checked" id="foo" name="foo" type="checkbox" value="y" />

In contrast, using WTForms’ default Form, the output would be:

<input checked id="foo" name="foo" type="checkbox" value="y">

In addition, this package provides a custom implementation of WTForms’ SubmitField, which renders as a <button> instead of an <input> element. For example:

from wtf_polyglot import PolyglotForm, SubmitField

class MyForm(PolyglotForm):
    foo = SubmitField("Bar")

Produces this output:

<button id="foo" name="foo" type="submit" value="Bar">Bar</button>

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

wtforms_polyglot-0.4.0.tar.gz (4.3 kB view hashes)

Uploaded Source

Built Distribution

wtforms_polyglot-0.4.0-py3-none-any.whl (5.4 kB view hashes)

Uploaded Python 3

Supported by

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