Skip to content

Latest commit

 

History

History
73 lines (46 loc) · 2.14 KB

File metadata and controls

73 lines (46 loc) · 2.14 KB

class Meta

.. module:: wtforms.meta

the class Meta paradigm allows WTForms features to be customized, and even new behaviors to be introduced. It also supplies a place where configuration for any complementary modules can be done.

Typical usage looks something like:

class MyForm(Form):
    class Meta:
        csrf = True
        locales = ('en_US', 'en')

    name = TextField(...)
    # and so on...

For the majority of users, using a class Meta is mostly going to be done for customizing options used by the default behaviors, however for completeness the entire API of the Meta interface is shown here.

.. autoclass:: DefaultMeta

    **Configuration**

    .. autoattribute:: csrf

        Setting ``csrf`` to `True` will enable CSRF for the form. The value can
        also be overridden per-instance via instantiation-time customization
        (for example, if csrf needs to be turned off only in a special case)

        .. code-block:: python

            form = MyForm(request.form, meta={'csrf': False})

    .. autoattribute:: csrf_class

        If set, this is a class which is used to implement CSRF protection.
        Read the :doc:`CSRF Documentation <csrf>` to get more information on
        how to use.

    .. autoattribute:: csrf_field_name

        The name of the automatically added CSRF token field.

    .. autoattribute:: locales

        Setting to a sequence of strings specifies the priority order
        of locales to try to find translations for built-in messages of
        WTForms. If the value `False`, then strings are not translated
        (the translations provider is a dummy provider)

    .. autoattribute:: cache_translations

        If `True` (the default) then cache translation objects. The default
        cache is done at class-level so it's shared with all class Meta.

    **Advanced Customization**

    Usually, you do not need to override these methods, as they provide core
    behaviors of WTForms.

    .. automethod:: build_csrf

    .. automethod:: get_translations

    .. automethod:: bind_field

    .. automethod:: wrap_formdata

    .. automethod:: render_field