• Stars
    star
    156
  • Rank 239,589 (Top 5 %)
  • Language
    Python
  • License
    MIT License
  • Created about 7 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

What happened when a FormBuilder met a StreamField

Wagtail StreamForms

tests Codecov pypi github

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/labd/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

More Repositories

1

nextjs-basic-auth-middleware

Add basic authentication to a NextJS application as middleware
TypeScript
214
star
2

django-cognito-jwt

An Authentication backend for Django Rest Framework for AWS Cognito JWT tokens
Python
179
star
3

django-oscar-wagtail

Wagtail integration for Oscar Commerce (or Oscar Commerce integration for Wagtail?)
Python
101
star
4

wagtail-2fa

2 Factor Authentication for Wagtail
Python
84
star
5

terraform-provider-commercetools

Terraform provider for commercetools
Go
64
star
6

django-healthchecks

Simple Django app/framework to publish health check for monitoring purposes
Python
60
star
7

django-iam-dbauth

Django backends to support IAM database authentication for AWS
Python
44
star
8

mach-composer

MACH composer is an orchestration tool for modern MACH ecosystems, powered by Terraform infrastructure-as-code underneath.
Go
39
star
9

django-session-timeout

Add timestamp to sessions to expire them
Python
36
star
10

commercetools-go-sdk

Go SDK for commercetools
Go
27
star
11

commercetools-node-mock

Mock for the commercetools rest api
TypeScript
19
star
12

ecs-deplojo

Deployment tool for Amazon ECS
Python
19
star
13

commercetools-python-sdk

Commercetools Python SDK
Python
17
star
14

react-abode

React micro-frontend framework allowing you to host multiple React components from HTML.
TypeScript
15
star
15

python-param-store

Python module to store secrets in secret stores
Python
15
star
16

django-perms-provisioner

Provision Django instances with groups and permissions
Python
13
star
17

terraform-provider-contentstack

Terraform provider for Contentstack
Go
9
star
18

wagtail-audit-trail

Python
8
star
19

terraform-provider-sonarqube

Terraform Provider for SonarQube
Go
8
star
20

react-loqate

React implementation of the Loqate API.
TypeScript
8
star
21

django-postcode-lookup

Generic API for postcode lookups
Python
8
star
22

terraform-provider-amplience

Terraform provider for Amplience
Go
7
star
23

commercetools-mock-server

Docker based mock server for the commercetools API
Dockerfile
7
star
24

pytest-bdd-splinter

Python
6
star
25

wagtail-site-inheritance

Support for site inheritance in Wagtail
Python
6
star
26

schema-generate

A library and CLI tool to generate various schemas based off of TypeScript interfaces.
TypeScript
5
star
27

changie-release-action

GitHub action for Changie
4
star
28

terraform-provider-taskrunner-aws-ecs

Terraform Provider for running ECS tasks
Go
4
star
29

graphql-codegen-faker-fixtures

Generate Faker fixtures for your GraphQL Fragments using GraphQL codegen
TypeScript
4
star
30

docker-python-lint

Flake8 docker
Dockerfile
3
star
31

mach-component-aws-commercetools-token-refresher

Terraform module that runs a Lambda function to auto-refresh commercetools auth tokens in AWS Secrets Manager
Python
3
star
32

terraform-module-commercetools-mc-app

HCL
3
star
33

docker-nginx-s3

Docker container to proxy nginx to s3
Shell
3
star
34

wsgi-aws-unproxy

Process X-Forwarded-For headers for AWS
Python
3
star
35

python-mocksftp

Python
2
star
36

terraform-aws-static-site

AWS static site module for Terraform, with support for basic authentication
HCL
2
star
37

apex-redirector

Go
2
star
38

lambda-utilities-javascript

TypeScript
2
star
39

commercetools-utilities-javascript

TypeScript
2
star
40

commercetools-federated-schema

Library for enabling Apollo GraphQL schema federation for commercetools
TypeScript
2
star
41

terraform-provider-storyblok

Terraform provider to manage Storyblok
Go
2
star
42

graphql-codegen-plugin-amplience

GraphQL codegen plugin for outputting Amplience schema's
TypeScript
2
star
43

node-dynamodb-mock

TypeScript
2
star
44

amplience-go-sdk

Go
2
star
45

go-rds-iam

A SQL Driver for connecting to AWS RDS instances via IAM roles
Go
1
star
46

aws-lambda-deploy

Python
1
star
47

contentstack-go-sdk

Go SDK for the Contentstack management API
Go
1
star
48

django-cache-results

A microlibrary to ease your caching code.
Python
1
star
49

javascript-tools

Tooling for JavaScript projects within Lab Digital
JavaScript
1
star
50

frontend-tooling

πŸ› Tooling and configuration for front-end projects
JavaScript
1
star
51

homebrew-terraform-provider-commercetools

Ruby
1
star
52

tf-ca-proxy

A proxy to use AWS CodeArtifact for hosting Terraform modules
Go
1
star
53

node-federated-token

Tokens for federated services
TypeScript
1
star
54

spaken

Python
1
star
55

js-toolkit

@labdigital/toolkit package for typescript development
TypeScript
1
star
56

next-sentry-tunnel

Sentry tunnel using Next.js route handler
TypeScript
1
star