{ "info": { "author": "Adrien Brunet - Emencia", "author_email": "adrien@emencia.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.10", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "Contact Form App\n================\n\nThis is aimed to be a reusable app for our cookiecutter.\nDjango CMS integration is provided.\nIt add a generic contact form with some basic configuration made available via the admin.\n\n\nInstall\n-------\n\n- create your virtualenv and `pip install -r requirements.txt`. For dev purposes, `pip install -r requirements-dev.txt`.\n\n- In your `INSTALLED_APPS`, add:\n\n```python\n 'modeltranslation', # translation within models\n ...\n 'django.contrib.site',\n 'django.contrib.sitemaps',\n\n 'django-countries', # needed for the CountryField\n 'crispy_forms', # nice looking forms\n 'crispy_forms_foundation',\n 'captcha',\n 'emencia_contact_form',\n```\n\n`modeltranslation` should be placed on top of the installed apps.\n\nThere is an automatic check which makes sure all of these apps are in INSTALLED_APPS.\n\n- captcha: signup for [recaptcha](https://github.com/praekelt/django-recaptcha) and follow their installation process on their repo. (adding RECAPTCHA_PUBLIC_KEY, RECAPTCHA_PRIVATE_KEY in your settings and so on..)\n\n- Add url(r'^', include('emencia_contact_form.urls')) in your urls.py\n\n- Ensure you're using foundation with crispyforms, in your settings, add:\n\n```python\nCRISPY_ALLOWED_TEMPLATE_PACKS = (\n 'bootstrap',\n 'uni_form',\n 'bootstrap3',\n 'bootstrap4',\n 'foundation-5',\n)\nCRISPY_TEMPLATE_PACK = 'foundation-5'\n```\n\nConfiguration\n-------------\n\n- Site: in django Admin, rename the site by default. Ensure you have SITE_ID = 1 in your settings.py\n\n- You can then edit the ContactFormSettings in the admin to configure the email.\n\n- EMAIL BACKEND: on success, the contact form send an email. You need to have it configured to have it working properly. [Django Email Backend](https://docs.djangoproject.com/en/1.10/ref/settings/#std:setting-EMAIL_BACKEND)\n\n- sitemaps: A sitemap is available in contact_form/sitemaps.py\nConfiguration on the django settings and url has to be done. [doc](https://docs.djangoproject.com/en/1.10/ref/contrib/sitemaps/)\n\n\nTEST & DEV\n----------\n\nThere is requirements-dev.txt with pdb, django-extensions and pygraphviz.\n\nRun tests with the following command:\n`pytest`\n\nTo create a new db while running tests: `pytest --create-db`\nThe default behavior reuse the same db for performance reasons", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/emencia/contact_form", "keywords": null, "license": "AGPL", "maintainer": null, "maintainer_email": null, "name": "emencia-contact-form", "package_url": "https://pypi.org/project/emencia-contact-form/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/emencia-contact-form/", "project_urls": { "Homepage": "https://github.com/emencia/contact_form" }, "release_url": "https://pypi.org/project/emencia-contact-form/0.3/", "requires_dist": null, "requires_python": null, "summary": "A reusable app to add a basic and configurable contact form.", "version": "0.3" }, "last_serial": 2569428, "releases": { "0.3": [ { "comment_text": "", "digests": { "md5": "816e899fd44d59a80f61597fbd7aefc8", "sha256": "5dcb4afc4bb5445059520cf41f3a80647e8b03735b0b6c14415fe3a6e7379e99" }, "downloads": -1, "filename": "emencia_contact_form-0.3-py3-none-any.whl", "has_sig": true, "md5_digest": "816e899fd44d59a80f61597fbd7aefc8", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 25499, "upload_time": "2017-01-12T10:52:56", "url": "https://files.pythonhosted.org/packages/9d/43/997645ed06c15399dbb96838f413794f8ff19a83292888cfdae0f39ce772/emencia_contact_form-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe93c07450cac319dbebb607bc30ba9f", "sha256": "517b4719146e8561e8fd5e7946f79441f7f6376f224f294dd5cedbcebfc0958c" }, "downloads": -1, "filename": "emencia_contact_form-0.3.tar.gz", "has_sig": true, "md5_digest": "fe93c07450cac319dbebb607bc30ba9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27167, "upload_time": "2017-01-12T10:52:54", "url": "https://files.pythonhosted.org/packages/3a/3e/056765bf9361b174e18e1876883f94ad4522f3791fbd5840c71375864d29/emencia_contact_form-0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "816e899fd44d59a80f61597fbd7aefc8", "sha256": "5dcb4afc4bb5445059520cf41f3a80647e8b03735b0b6c14415fe3a6e7379e99" }, "downloads": -1, "filename": "emencia_contact_form-0.3-py3-none-any.whl", "has_sig": true, "md5_digest": "816e899fd44d59a80f61597fbd7aefc8", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 25499, "upload_time": "2017-01-12T10:52:56", "url": "https://files.pythonhosted.org/packages/9d/43/997645ed06c15399dbb96838f413794f8ff19a83292888cfdae0f39ce772/emencia_contact_form-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe93c07450cac319dbebb607bc30ba9f", "sha256": "517b4719146e8561e8fd5e7946f79441f7f6376f224f294dd5cedbcebfc0958c" }, "downloads": -1, "filename": "emencia_contact_form-0.3.tar.gz", "has_sig": true, "md5_digest": "fe93c07450cac319dbebb607bc30ba9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27167, "upload_time": "2017-01-12T10:52:54", "url": "https://files.pythonhosted.org/packages/3a/3e/056765bf9361b174e18e1876883f94ad4522f3791fbd5840c71375864d29/emencia_contact_form-0.3.tar.gz" } ] }