Skip to main content

Wagtail forms in a streamfield

Project description

CircleCI Codecov

Allows you to build forms in the CMS admin area and add them to any StreamField in your site. You can add your own fields along with the vast array of default fields which include the likes of file fields. Form submissions are controlled by hooks that you can add that process the forms cleaned data. Templates can be created which will then appear as choices when you build your form, allowing you to display and submit a form however you want.

Backwards Compatibility

Please note that due to this package being virtually re-written for version 3, you cannot upgrade any existing older version of this package to version 3 and onwards. If you have an existing version installed less than 3 then you will need to completely remove it including tables and any migrations that were applied in the databases django_migrations table.

Older versions:

If you are using a version of wagtail 1.x, then the latest compatible version of this package is 1.6.3:

$ pip install wagtailstreamforms<2

Other wise you must install a version of this package from 2 onwards:

$ pip install wagtailstreamforms>=2

What else is included?

  • Each form is built using a StreamField.

  • Customise things like success and error messages, post submit redirects and more.

  • Forms are processed via a before_page_serve hook. Meaning there is no fuss like remembering to include a page mixin.

  • The hook can easily be disabled to provide the ability to create your own.

  • Form submissions are controlled via hooks meaning you can easily create things like emailing the submission which you can turn on and off on each form.

  • Fields can easily be added to the form from your own code such as Recaptcha or a Regex Field.

  • The default set of fields can easily be replaced to add things like widget attributes.

  • You can define a model that will allow you to save additional settings for each form.

  • Form submissions are also listed by their form which you can filter by date and are ordered by newest first.

  • Files can also be submitted to the forms that are shown with the form submissions.

  • A form and its fields can easily be copied to a new form.

  • There is a template tag that can be used to render a form, in case you want it to appear outside a StreamField.

Documentation

Can be found on readthedocs.

Screenshots

http://wagtailstreamforms.readthedocs.io/en/latest/_images/screen_1.png

Example Front End

http://wagtailstreamforms.readthedocs.io/en/latest/_images/screen_3.png

Form Fields Selection

Example site with docker

Clone the repo

$ git clone https://github.com/AccentDesign/wagtailstreamforms.git

Run the docker container

$ cd wagtailstreamforms
$ docker-compose up

Create yourself a superuser

$ docker-compose exec app bash
$ python manage.py createsuperuser

Go to http://127.0.0.1:8000

Testing

You can test using the tox.ini file in on your own system if you are used to pyenv and tox or you can use the dockerfile that has everything installed ready. Just follow the below commands.

Build the tox test docker image:

docker-compose -f docker-compose-tox.yml build

Bash into the container:

docker-compose -f docker-compose-tox.yml run tox bash

From here you can just execute tox commands:

# Execute all environments
$ tox

# Or a single environment
$ tox -e py36-dj200-wt200

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

wagtailstreamforms-3.2.tar.gz (22.6 kB view details)

Uploaded Source

File details

Details for the file wagtailstreamforms-3.2.tar.gz.

File metadata

  • Download URL: wagtailstreamforms-3.2.tar.gz
  • Upload date:
  • Size: 22.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for wagtailstreamforms-3.2.tar.gz
Algorithm Hash digest
SHA256 ff437c49c79e3c18418133979c9d7ae18deb682f1783373a9d0819602d700988
MD5 ec0c21950bd213ac0d75bf89e598a2f9
BLAKE2b-256 bbd8e27d5f2c4d40108d81c541b2a4ec9db45d4bc539ca0f8360634a41725280

See more details on using hashes here.

Provenance

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