{"id":28418800,"url":"https://github.com/worthwhile/cmsplugin-remote-form","last_synced_at":"2026-04-28T17:32:37.893Z","repository":{"id":83451313,"uuid":"86381689","full_name":"worthwhile/cmsplugin-remote-form","owner":"worthwhile","description":"fork of cmsplugin-contact-plus. Intended to hit remote endpoints.","archived":false,"fork":false,"pushed_at":"2021-04-08T22:39:32.000Z","size":260,"stargazers_count":0,"open_issues_count":1,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-06-28T08:39:30.407Z","etag":null,"topics":["django","django-cms"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/worthwhile.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.txt","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-03-27T20:37:08.000Z","updated_at":"2020-05-11T15:14:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"95eb9283-7ffa-46bc-a2aa-cbb0b143278f","html_url":"https://github.com/worthwhile/cmsplugin-remote-form","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/worthwhile/cmsplugin-remote-form","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/worthwhile%2Fcmsplugin-remote-form","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/worthwhile%2Fcmsplugin-remote-form/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/worthwhile%2Fcmsplugin-remote-form/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/worthwhile%2Fcmsplugin-remote-form/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/worthwhile","download_url":"https://codeload.github.com/worthwhile/cmsplugin-remote-form/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/worthwhile%2Fcmsplugin-remote-form/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32392293,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T14:34:11.604Z","status":"ssl_error","status_checked_at":"2026-04-28T14:32:37.009Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","django-cms"],"created_at":"2025-06-04T12:47:53.686Z","updated_at":"2026-04-28T17:32:37.888Z","avatar_url":"https://github.com/worthwhile.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# About cmsplugin_remote_form\n\n[cmsplugin-contact-plus](https://github.com/arteria/cmsplugin-contact-plus/) lets you build forms for your Django CMS project\nwith exactly the fields you want in the order you want with a minimal effort.\n\nBeside the regular input fields there are \"auto\" fields, for example to submit the referral page, or additional, hidden values.\nThe form will be submitted to an email address that is defined per form. This allows to cover a lot of use cases with a single and simple plugin.\n\ncmsplugin-contact-plus is licensed under the MIT License.\n\n## Quickstart\n\n1. To install from [PyPI](https://pypi.python.org/pypi/cmsplugin_remote_form/), in your virtualenv run\n\n\t```\n\tpip install cmsplugin_remote_form\n\t```\n\n\tor to get the latest commit from GitHub,\n\n\t```\n\tpip install -e git+git://github.com/arteria/cmsplugin-contact-plus.git#egg=cmsplugin_remote_form\n\t```\n2. cmsplugin-contact-plus requires https://github.com/iambrandontaylor/django-admin-sortable as dependency. Please have a look at the \"Supported Django Versions\", \"Installation\", and \"Configuration\" sections of the [README](https://github.com/iambrandontaylor/django-admin-sortable/blob/master/README.md).\n\n3. Put ``cmsplugin_remote_form`` and ``adminsortable`` in your INSTALLED_APPS `settings.py` section and verify that the [ADMINS](https://docs.djangoproject.com/en/dev/ref/settings/#admins) setting is set as well.\n\n4. Don't forget to migrate your database.\n5. Configure Django's [e-mail settings](https://docs.djangoproject.com/en/1.8/topics/email/#quick-example) appropriately.\n\n## Configuration/Settings\n\n### ``REMOTE_FORM_FROM_EMAIL``\n\nSpecify ``DEFAULT_FROM_EMAIL`` (https://docs.djangoproject.com/en/dev/ref/settings/#default-from-email) in your projects settings to send emails from a specific address. Otherwise Django's default  'webmaster@localhost' will be used.\n\n### ``REMOTE_FORM_REPLY_EMAIL_LABEL``\n\nTo set the reply-to header for the email automatically, specify ``REMOTE_FORM_REPLY_EMAIL_LABEL`` in your project settings. If the label is \"your email\" for example, then set ``REMOTE_FORM_REPLY_EMAIL_LABEL='your-email'`` - basically it's the slugified field label that is used to look up the reply-to email address.\n\n### ``REMOTE_FORM_SEND_COPY_TO_REPLY_EMAIL``\n\nTo send a carbon copy to the submitter you can set the ``REMOTE_FORM_SEND_COPY_TO_REPLY_EMAIL`` to `True`. If a Field with the label `email` exists this email will be used as Cc Header.\n\n### ``REMOTE_FORM_REQUIRED_CSS_CLASS``\n\nDefines the required CSS class, default is `required`.\n\n### ``CMSPLUGIN_CONTACT_FORM_VALIDATORS``\n\nSpecify ``CMSPLUGIN_CONTACT_FORM_VALIDATORS`` in your projects settings to one or more [validator functions](https://docs.djangoproject.com/en/dev/ref/validators/) that are used with the CharFieldWithValidator field. Expected is a list of strings, each string should point a validator function by its full path. For example:\n\nCMSPLUGIN_CONTACT_FORM_VALIDATORS = [\n  'myproject.utils.validators.phone_number_validator',\n]\n\n### reCAPTCHA\n\nTo make the reCAPTCHA field type available to your users, add `'captcha'` to your `INSTALLED_APPS` and define your `RECAPTCHA_PUBLIC_KEY` and `RECAPTCHA_PRIVATE_KEY` as described in [django-recaptcha's README](https://github.com/praekelt/django-recaptcha/blob/develop/README.rst). A single reCAPTCHA instance per page is supported.\n\n## Templates\n\nIf you are not using the default template settings of Django, make sure that  ``'django.template.loaders.app_directories.Loader'`` is added to the [`TEMPLATES.OPTIONS.loaders`](https://docs.djangoproject.com/en/1.8/ref/templates/upgrading/#the-templates-settings) list in your `settings.py` file. Likewise, if your Django version is \u003c 1.8, make sure that the above-mentioned loader is in your list of [`TEMPLATE_LOADERS`](https://docs.djangoproject.com/en/1.8/ref/settings/#template-loaders).\n\n## Features\n\n- Dynamic form creation\n- Migrations included\n- Store data in the database\n- Multiple languages: currently English and Spanish translations\n- reCAPTCHA and simple math captcha\n- django CMS 3.0 compatible\n- Template support\n- Track/pass hidden data\n- Signals\n- Multiple file and image fields for media upload\n- Handle multiple forms located on the same page\n\n## Notes\n\n- Migrations are available with django-cms \u003e= 3.0.6 because we depend on [this](https://github.com/divio/django-cms/blob/3.0.6/cms/migrations_django/0003_auto_20140926_2347.py) migrations file.\n- Collecting data is not available if ``from.is_multipart is True`` (= the form has attached files)\n- If you render a form field manually, make sure that its name is: `name=\"{{ field.label|slugify }}\"`. This is necessary for the proper validation of the form.\n\n## TODO and planned features .\n- Widget support for each field.\n- Provide examples and real life case studies\n- Formatted email messages, HTML?, .as_p, ?\n- Allow to re-use forms on different pages.\n- Add optional Honeypot field support.\n- Support more Languages\n- (Your great feature here)\n\n## Changelog\n### Development\n\nPlease have a look at the latest commits for the work-in-progress development version.\n\n### 1.2 - Unreleased\n- Drop python 2 support\n- Drop support for django \u003c 2.2\n  ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworthwhile%2Fcmsplugin-remote-form","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fworthwhile%2Fcmsplugin-remote-form","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworthwhile%2Fcmsplugin-remote-form/lists"}