{ "info": { "author": "Timour Ghinatoulline", "author_email": "tim@plusone.su", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "Writeback\n=========\n\nWriteback is a pluggable customizable Django app to collect feedback from site visitors using AJAX.\n\nInstallation\n------------\n\nInstall using pip::\n\n pip install django-writeback\n\nQuick start\n-----------\n\n+ Add \"writeback\" to your INSTALLED_APPS setting like this::\n\n INSTALLED_APPS += ('writeback', )\n\n+ Add context processor to your TEMPLATE_CONTEXT_PROCESSORS setting like this::\n\n TEMPLATE_CONTEXT_PROCESSORS += ('writeback.context.add_form', )\n\n+ Specify email settings WRITEBACK_EMAIL_NOTIFICATION_SUBJECT, WRITEBACK_EMAIL_NOTIFICATION_FROM and WRITEBACK_EMAIL_NOTIFICATION_TO_LIST. These will be used in email notifications.\n\n+ Run ``python manage.py syncdb`` to synchronize the database.\n\n+ Run ``python manage.py collectstatic`` or ``python manage.py collectstatic -i admin``, if you want to omit collecting static for the admin app.\n\n+ Include the writeback URLconf in your project urls.py like this::\n\n url(r'^writeback/', include('writeback.urls')),\n\n+ Modify your base template::\n\n \n {% include \"writeback/header.html\" %}\n \n \n {% include \"writeback/button.html\" %}\n\n+ Override ``email_notification.html`` and ``button.html`` templates.\n\nModel customization\n-------------------\n\nThe ``Message`` model, which is used for collecting feedback, can be extended:\n\n+ Create an app, for example ``custom_writeback`` with a file, which shall contain class declaration, name it, ``models.py``, for example.\n\n+ Add this newly created app to your ``INSTALLED_APPS`` setting like this::\n\n INSTALLED_APPS += ('custom_writeback', )\n\n+ Declare your abstract model class anew or, if you want to extend the base model, inherit it from ``writeback.models.MessageAbstract`` like so::\n\n from writeback.models import MessageAbstract\n\n\n class MyMessageAbstract(MessageAbstract):\n # define your custom fields\n\n class Meta(MessageAbstract.Meta):\n pass\n\n+ Register your class in the project's ``settings.py``::\n\n WRITEBACK_MESSAGE_BASE_MODEL = 'custom_writeback.models.MyMessageAbstract'\n\n\n+ Define a new form, which shall be used for the new model.\n\nForm customization\n------------------\n\nIf you have overriden or customized the ``Message`` model, you most probably need to customize the form. But even if you use the original model, you may want to change the form ``clean()`` method.\n\n+ Create an app, for example ``custom_writeback`` (if you haven't already) with a file, which shall contain class declaration, name it, ``forms.py``, for example.\n\n+ Add this newly created app to your ``INSTALLED_APPS`` setting like this::\n\n INSTALLED_APPS += ('custom_writeback', )\n\n+ Declare your new form-class like so::\n\n from django.utils.translation import ugettext_lazy as _\n from django.forms import ValidationError\n\n from writeback.forms import MessageCreateFormBase\n from writeback.models import Message\n\n\n class MessageCreateForm(MessageCreateFormBase):\n class Meta:\n model = Message\n exclude = ['date_created', 'middle_name', 'company', 'info']\n\n def clean(self):\n cleaned_data = super(MessageCreateFormBase, self).clean()\n name = cleaned_data.get(\"name\")\n family_name = cleaned_data.get(\"family_name\")\n phone = cleaned_data.get(\"phone\")\n email = cleaned_data.get(\"email\")\n\n if not (name or family_name or phone or email):\n raise ValidationError(_(\"Please, fill out at least one field.\"))\n\n return super(MessageCreateFormBase, self).clean()\n\n+ Register your class in the project's ``settings.py``::\n\n WRITEBACK_MESSAGE_BASE_FORM = 'custom_writeback.forms.MessageCreateForm'", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/timgin/django-writeback/", "keywords": "blog,django,feedback,ajax,user,customer,comment", "license": "BSD License", "maintainer": null, "maintainer_email": null, "name": "django-writeback", "package_url": "https://pypi.org/project/django-writeback/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-writeback/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/timgin/django-writeback/" }, "release_url": "https://pypi.org/project/django-writeback/0.3.9/", "requires_dist": null, "requires_python": null, "summary": "A pluggable customizable Django app to collect feedback from site visitors.", "version": "0.3.9" }, "last_serial": 1816164, "releases": { "0.1.10": [ { "comment_text": "", "digests": { "md5": "0e5f089206713bf559eb802074b9e5a7", "sha256": "385cc787a856cc2ce5ddbfc5bb405ce534b124737ab2019b9bf10c6cdb1bba2c" }, "downloads": -1, "filename": "django-writeback-0.1.10.zip", "has_sig": false, "md5_digest": "0e5f089206713bf559eb802074b9e5a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23425, "upload_time": "2015-07-06T06:07:05", "url": "https://files.pythonhosted.org/packages/5f/a8/6849338cf68906d7a60c8c890a359bc3c5222a6f5092143940a11ea52e80/django-writeback-0.1.10.zip" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "43343a6bad7ccbc3d20dd2e1d659d8e4", "sha256": "4cee519bf24355b2cd6b7d48c14bf0800b16eb9a80145bd8511fdf81f83b8175" }, "downloads": -1, "filename": "django-writeback-0.1.9.zip", "has_sig": false, "md5_digest": "43343a6bad7ccbc3d20dd2e1d659d8e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23359, "upload_time": "2015-07-06T05:59:56", "url": "https://files.pythonhosted.org/packages/56/c6/e44f955a4acb74b49ec3b6fde4bd022c8d610238480f22774ab7a2744852/django-writeback-0.1.9.zip" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "f797c8e1a771ba5325a301c5d14468c8", "sha256": "f6c71b517ef80d1ab0fd50db2e6e13f6da97ec4bd0d5c5cca5f0df6ed86f3455" }, "downloads": -1, "filename": "django-writeback-0.2.1.zip", "has_sig": false, "md5_digest": "f797c8e1a771ba5325a301c5d14468c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56836, "upload_time": "2015-07-28T15:40:37", "url": "https://files.pythonhosted.org/packages/40/2b/dcfa4a73fadb4f282eafa50d7d9a4d541a674de6dbbf3ee751b0eb893c02/django-writeback-0.2.1.zip" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "4f779101cfda28552406b96ed774635a", "sha256": "9b5b85411046955925a9aa89a7e825707473033097cb873a2b6b99b1f2ec8867" }, "downloads": -1, "filename": "django-writeback-0.2.2.zip", "has_sig": false, "md5_digest": "4f779101cfda28552406b96ed774635a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56836, "upload_time": "2015-07-28T15:41:09", "url": "https://files.pythonhosted.org/packages/9c/ea/46e5bd29fecb12726533755efdc9b8ff765bda7eb70998b6e0a2cac0d712/django-writeback-0.2.2.zip" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "93bde10219355165831816c8862b7a1d", "sha256": "4422c6f30417e01f1d2bc9315628240c876ca858ccb494e71d22aadf46b37387" }, "downloads": -1, "filename": "django-writeback-0.2.3.tar.gz", "has_sig": false, "md5_digest": "93bde10219355165831816c8862b7a1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50507, "upload_time": "2015-10-18T08:09:36", "url": "https://files.pythonhosted.org/packages/45/41/7fbec64161ac50e4011a132cadbb9a5faa6529e9a237bab108faee0bc527/django-writeback-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "b687e9cb2a197b7719b4328e66d24df2", "sha256": "61b565256990142bf45d62e2babe57057f2d9448a8b5c548f6bad7ac421662e1" }, "downloads": -1, "filename": "django-writeback-0.2.4.tar.gz", "has_sig": false, "md5_digest": "b687e9cb2a197b7719b4328e66d24df2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50527, "upload_time": "2015-10-18T13:17:39", "url": "https://files.pythonhosted.org/packages/61/31/04342f86b2f956c770f0b038852b163fa05ba23b731bfa55b7c5399c227d/django-writeback-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "95130538c3eaa565635d69f357a6a526", "sha256": "411292b91b057692047bca09f4e8b56d0e5e55c17256dcb7756847ab03dd9b2d" }, "downloads": -1, "filename": "django-writeback-0.2.5.tar.gz", "has_sig": false, "md5_digest": "95130538c3eaa565635d69f357a6a526", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50528, "upload_time": "2015-10-18T15:00:17", "url": "https://files.pythonhosted.org/packages/91/03/7cc7be4f63ea8e157d007e954a7c0b61c34e3f4d6603d783bdc635526d43/django-writeback-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "cce6de7ce79414084f0d7889a312c84d", "sha256": "5ec4094c29d2b0db6a12314d065d88b382ed8e26a03bc22b742a0db249d4b5e0" }, "downloads": -1, "filename": "django-writeback-0.2.6.tar.gz", "has_sig": false, "md5_digest": "cce6de7ce79414084f0d7889a312c84d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50548, "upload_time": "2015-10-18T16:15:38", "url": "https://files.pythonhosted.org/packages/89/8b/90f641ea453d58f1189292118683719957ca4c44525a6ddcc9448b88a438/django-writeback-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "69711a87497663f3e9fd86562533bcb2", "sha256": "357f76fa83feb0b5c41826c2af8c0417824ec3efe1868ac0050ac4ab054027d8" }, "downloads": -1, "filename": "django-writeback-0.2.7.tar.gz", "has_sig": false, "md5_digest": "69711a87497663f3e9fd86562533bcb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50537, "upload_time": "2015-10-18T16:24:19", "url": "https://files.pythonhosted.org/packages/21/5d/7a6dd32e065deec9e486caa97d7a88d1529e0824af69e5da106f655278e5/django-writeback-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "dafe278a7c51ce5afaea5832005858f0", "sha256": "684231347edb98fe7f4a9aa4bcbf1cb7124fee1e78cb088912c0f4895f2e56ae" }, "downloads": -1, "filename": "django-writeback-0.2.8.tar.gz", "has_sig": false, "md5_digest": "dafe278a7c51ce5afaea5832005858f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50525, "upload_time": "2015-10-18T16:28:53", "url": "https://files.pythonhosted.org/packages/18/f1/4daa091849d0684b63c495df3cb7fc544b74868fa2dc4e43b22fe59ec5a5/django-writeback-0.2.8.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "f709c98357dc5c026b7f08ed2a170054", "sha256": "2f8a09922e85e9444abde643081458d6e69c3804c95dbe5b33f9d7da8ce314b5" }, "downloads": -1, "filename": "django-writeback-0.3.8.tar.gz", "has_sig": false, "md5_digest": "f709c98357dc5c026b7f08ed2a170054", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50736, "upload_time": "2015-11-14T12:08:40", "url": "https://files.pythonhosted.org/packages/b3/c3/f54f9557285b9925327171e58ad4854eab8482264686e719ebdf4bdc5773/django-writeback-0.3.8.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "c6268bbc0ef69a412f167ea0538dab66", "sha256": "e6cc23eb61604be2e3287f70e011166072fda0b1cf322bbdde1b679269be9e45" }, "downloads": -1, "filename": "django-writeback-0.3.9.tar.gz", "has_sig": false, "md5_digest": "c6268bbc0ef69a412f167ea0538dab66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51251, "upload_time": "2015-11-14T12:22:32", "url": "https://files.pythonhosted.org/packages/d2/aa/64f70abc73710f6066f1e691c74a7c15d06f8030e3e4f972a1eb833aaf5e/django-writeback-0.3.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c6268bbc0ef69a412f167ea0538dab66", "sha256": "e6cc23eb61604be2e3287f70e011166072fda0b1cf322bbdde1b679269be9e45" }, "downloads": -1, "filename": "django-writeback-0.3.9.tar.gz", "has_sig": false, "md5_digest": "c6268bbc0ef69a412f167ea0538dab66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51251, "upload_time": "2015-11-14T12:22:32", "url": "https://files.pythonhosted.org/packages/d2/aa/64f70abc73710f6066f1e691c74a7c15d06f8030e3e4f972a1eb833aaf5e/django-writeback-0.3.9.tar.gz" } ] }