Skip to main content

A set of plugins used to customize and improve the Wagtail form builder in a modular way.

Project description

Wagtail Form Plugins

A set of plugins used to customize and improve the Wagtail form builder in a modular way.

This project uses Wagtail StreamFields to improve the user experience when creating a form. This feature was included in a plugin at first, but moving it to a built-in feature allows a better integration between plugins and Wagtail StreamFields.

Available plugins:

  • conditional fields: make a field appear or not depending on the value of a previous field;
  • editable: allow form admins to modify form submissions;
  • emails: send multiple emails when a form is submitted;
  • file_input: allow users to send a file via the form;
  • indexed_results: add an index value in the results (can be used in the templating plugin);
  • label: add a new Label field type to put subtitles in forms, in order to split it into sections;
  • named_form: add user value in form sumission, allowing to fill the form only once per user;
  • nav_buttons: add some buttons for an easier novigation for form admins;
  • templating: allow to inject variables in field initial values and emails such as the user name, etc;
  • token_validation: add token-validation process via email, useful for public forms.

Each plugin is supposed to work independently.

Usage

You add form plugins with class inheritance. Since there are several classes to extend, a WagtailFormPlugin object can be used for convenience:

from wagtail_form_plugins import plugins

wfp = WagtailFormPlugin(
    plugins.ConditionalFields,
    plugins.Editable,
    plugins.EmailActions,
    plugins.FileInput,
    plugins.IndexedResults,
    plugins.Label,
    plugins.AuthForm,
    plugins.NavButtons,
    plugins.Templating,
    plugins.Validation,
)

class CustomFormSubmission(*wfp.form_submission_classes):
    pass

class CustomFormBuilder(*wfp.form_builder_classes):
    pass

class CustomFormField(*wfp.form_field_classes):
    pass

class CustomSubmissionListView(*wfp.submission_list_view_classes):
    pass

class CustomFormPage(*wfp.form_page_classes):
    pass

class CustomFormFieldsBlock(*wfp.form_block_classes):
    pass

See the demo project for further understanding and up-to-date usage.

Installation

This package is published on pypi, so typically:

uv add wagtail_form_plugins

Contribution

You are welcome to make pull requests to add you own plugins if you think they can be useful for others.

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

wagtail_form_plugins-0.6.0.tar.gz (45.6 kB view details)

Uploaded Source

Built Distribution

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

wagtail_form_plugins-0.6.0-py3-none-any.whl (81.5 kB view details)

Uploaded Python 3

File details

Details for the file wagtail_form_plugins-0.6.0.tar.gz.

File metadata

  • Download URL: wagtail_form_plugins-0.6.0.tar.gz
  • Upload date:
  • Size: 45.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for wagtail_form_plugins-0.6.0.tar.gz
Algorithm Hash digest
SHA256 6c86a7583025299ce371e304810d46ffb3f8ecdd16424a9c7d6feeb1953ffc55
MD5 857a671a5573ca0e8f0024721773d7ca
BLAKE2b-256 8abc9d881a3e62aa28715b90e5407d286f40ea644de3837eced8b3cd5729d5c5

See more details on using hashes here.

File details

Details for the file wagtail_form_plugins-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: wagtail_form_plugins-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 81.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for wagtail_form_plugins-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3d7be76dff848c5c01bd0f1daf4296300cd327ef589ab3f9cb503473fb0525db
MD5 f69ae0c4f96ed6b6ada47c6c2637642b
BLAKE2b-256 61933a3ab27661ee81b2e4893e70885283b4d4635d11b6bf8560b89ac6b81f27

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