Skip to main content

The easiest and most flexible Django CMS Form builder w/ ReCaptcha v2 support!

Project description

Latest Version Downloads License CodeFactor

This project requires django-cms v3.6 or higher to be properly installed and configured.

This package is compatible with Aldryn.

This version uses https://github.com/praekelt/django-recaptcha for ReCaptcha capabilities.

Quickstart

  1. Install djangocms-forms-maintained:

    pip install djangocms-forms-maintained
  2. Add djangocms_forms to INSTALLED_APPS:

    INSTALLED_APPS = (
        ...
        'djangocms_forms',
        ...
    )
  3. Sync database tables (requires south>=1.0.1 if you are using Django 1.6.x):

    python manage.py migrate
  4. Add djangocms_forms.urls to your project’s urls module or create a django CMS page to hook the application into. In Advanced Settings, set its Application to Forms (this requires a server restart):

    urlpatterns = patterns(
        ...
        path('', include('djangocms_forms.urls')),
        ...
    )
  5. To use reCAPTCHA for spam protection, you need to sign up for an API key pair for your site:

    DJANGOCMS_FORMS_RECAPTCHA_PUBLIC_KEY = '<recaptcha_site_key>'
    DJANGOCMS_FORMS_RECAPTCHA_SECRET_KEY = '<recaptcha_secret_key>'

You can register a new site via https://www.google.com/recaptcha/admin

Configuration

Plugin(s) Module - If module is None, plugin is grouped Generic group:

DJANGOCMS_FORMS_PLUGIN_MODULE = _('Generic')

Name of the plugin:

DJANGOCMS_FORMS_PLUGIN_NAME = _('Form')

The path to the default template used to render the template:

DJANGOCMS_FORMS_DEFAULT_TEMPLATE = 'djangocms_forms/form_template/default.html'

or override the Form Template dropdown choices to have different template options:

DJANGOCMS_FORMS_TEMPLATES = (
    ('djangocms_forms/form_template/default.html', _('Default')),
)

HTML5 required - When set to True all required fields inputs will be rendered with HTML5 required=required attribute:

DJANGOCMS_FORMS_USE_HTML5_REQUIRED = False

By default, djangocms-forms adds additional css classes to all form inputs. e.g. a Text field generates an <input class="textinput"> You can override this to integrate your own CSS framework:

DJANGOCMS_FORMS_WIDGET_CSS_CLASSES = {'__all__': ('form-control', ) }

e.g. the above setting would generate <input class"form-control" .... for all fields.

By default, djangocms-forms will redirect a successful form submission after 1000 milliseconds (1 second). You may provide your own redirect delay value for all forms site-wide via settings:

DJANGOCMS_FORMS_REDIRECT_DELAY = 10000  # 10 seconds

or on a per-form basis via the redirect_delay field. The order of precedence for the redirect value is always:

instance.redirect_delay > DJANGOCMS_FORMS_REDIRECT_DELAY > 1000 (default)

As of 202206141310 you can now specify new FORMAT_CHOICES for the form, since tablib seems to be a bit finicky in the latest version:

DJANGOCMS_FORMS_FORMAT_CHOICES = (
    ("csv", _("CSV")),
    ("json", _("JSON")),
    ("yaml", _("YAML")),
    ("xlsx", _("Microsoft Excel")),
)

it can also be passed in on init with the format_choices keyword argument.

Preview

http://mishbahr.github.io/djangocms-forms/assets/resized/djangocms_forms_001.jpeg http://mishbahr.github.io/djangocms-forms/assets/resized/djangocms_forms_005.jpeg http://mishbahr.github.io/djangocms-forms/assets/resized/djangocms_forms_002.jpeg http://mishbahr.github.io/djangocms-forms/assets/resized/djangocms_forms_003.jpeg http://mishbahr.github.io/djangocms-forms/assets/resized/djangocms_forms_004.jpeg

You may also like the original author’s plugins…

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

djangocms-forms-maintained-202206141419.tar.gz (139.1 kB view hashes)

Uploaded Source

Built Distribution

djangocms_forms_maintained-202206141419-py2.py3-none-any.whl (153.6 kB view hashes)

Uploaded Python 2 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