{ "info": { "author": "evonove", "author_email": "info@evonove.it", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Django", "Framework :: Django :: 1.8", "Framework :: Django :: 1.9", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "Django Stored Messages\n======================\n\n.. image:: https://badge.fury.io/py/django-stored-messages.png\n :target: http://badge.fury.io/py/django-stored-messages\n\n.. image:: https://travis-ci.org/evonove/django-stored-messages.png?branch=master\n :target: https://travis-ci.org/evonove/django-stored-messages\n\n.. image:: https://coveralls.io/repos/evonove/django-stored-messages/badge.png\n :target: https://coveralls.io/r/evonove/django-stored-messages\n\n\nDjango contrib.messages on steroids\n\nThe app integrates smoothly with Django's `messages framework `_\n(``django.contrib.messages``), but users can decide which messages have to be stored on the database\nbackend and kept available over sessions.\n\nFeatures\n--------\n\n* Seamless integration with ``django.contrib.messages``\n* All the features are in a mixin you can attach to your existing storage\n* Stored messages are archived in the database or in a Redis instance\n* Users can configure which message levels have to be persisted\n* REST api to retrieve and mark messages as read (needs ``djangorestframework``)\n* Signalling api to perform actions in response to messages activity\n\nCompatibility table\n-------------------\n\n* Python 2.7, 3.4, 3.5\n* Django 1.8, 1.9\n* Django Rest Framework >= 3.3 (only if you want to use REST endpoints)\n\nDo you use an earlier version of Django or Django Rest Framework? An `old version of stored_messages`_ is available even\nif it's **not supported anymore**. Anyway, plan a migration to a newer version.\n\n.. _old version of stored_messages: https://github.com/evonove/django-stored-messages/tree/1.3.1\n\nDocumentation\n-------------\n\nThe full documentation is at http://django-stored-messages.rtfd.org. It includes `migration instructions`_ if you're\nmigrating from an earlier version of ``stored_messages``.\n\n.. _migration instructions: http://django-stored-messages.readthedocs.org/en/latest/migrations.html\n\nQuickstart\n----------\n\nFollow instruction for firing up `django.contrib.messages `_,\nthen install the app::\n\n $ pip install django-stored-messages\n\nAdd it to the installed apps:\n\n.. code-block:: python\n\n INSTALLED_APPS = (\n # ...\n 'stored_messages',\n )\n\nIn the settings, tell Django which is the message storage:\n\n.. code-block:: python\n\n MESSAGE_STORAGE = 'stored_messages.storage.PersistentStorage'\n\nAs last step, don't forget to run Django migrations::\n\n $ python manage.py migrate\n\nThen use it in a project through the django.contrib.messages api. The app provides for convenience\nsome message levels which are persisted by default:\n\n.. code-block:: python\n\n import stored_messages\n\n from django.contrib import messages\n\n # standard message\n messages.add_message(request, messages.INFO, 'Hello world.')\n # this will be persisted and marked as 'unread'\n messages.add_message(request, stored_messages.STORED_INFO, 'Hello world, to the database!')\n\nstored_messages expose the same api as well, so one can do:\n\n.. code-block:: python\n\n import stored_messages\n stored_messages.add_message(request, stored_messages.INFO, 'Hello!')\n\nIf you want to use standard message levels but persist the messages, just add something like this\nto the settings:\n\n.. code-block:: python\n\n from django.contrib import messages\n\n STORED_MESSAGES = {\n # persist standard infos and standard errors\n 'STORE_LEVELS': (messages.INFO, messages.ERROR,),\n }\n\nIterating the messages will automatically mark them as read (but still persisted):\n\n.. code-block:: python\n\n storage = messages.get_messages(request)\n for unread_message in storage:\n # unread_message could be a stored message or a \"standard\" Django message\n do_something_with(unread_message)\n\n...unless you mark the storage as not used:\n\n.. code-block:: python\n\n storage.used = False\n\nYou can mark a stored message as read at any time:\n\n.. code-block:: python\n\n stored_messages.mark_read(request.user, message)\n\nWant to store your messages on Redis instead of your database? Here you go:\n\n.. code-block:: python\n\n STORED_MESSAGES = {\n 'STORAGE_BACKEND': 'stored_messages.backends.RedisBackend',\n 'REDIS_URL': 'redis://localhost:6379/0',\n }\n\nExamples\n--------\n\n`GitHub-like notifications with Stored Messages and AngularJS `_\n\n\n\n\nHistory\n-------\n\n1.0.1 (2014-04-17)\n++++++++++++++++++\n* Major bug fixed on `inbox_get()` backend api\n* Fixed InboxSerializer for redis backend messages\n* Enhanced testsuite\n* Added MessageDoesNotExist descriptions and return 404\n\n1.0.0 (2014-04-01)\n++++++++++++++++++\n* New backend architecture with Redis support\n* Support for broadcast messages\n\n0.2.1 (2013-12-23)\n++++++++++++++++++\n* Added `stored_messages_count` template tag and tests\n\n0.2.0 (2013-10-22)\n++++++++++++++++++\n\n* Added `stored_messages_archive` template tag\n* Extended REST api\n\n0.1.2 (2013-10-13)\n++++++++++++++++++\n\n* Added specific template tags for stored messages\n\n0.1.1 (2013-10-10)\n++++++++++++++++++\n\n* Fixed setup.py\n\n0.1.0 (2013-10-08)\n++++++++++++++++++\n\n* First release on PyPI.", "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/evonove/django-stored-messages", "keywords": "django-stored-messages", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "django-stored-messages", "package_url": "https://pypi.org/project/django-stored-messages/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-stored-messages/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/evonove/django-stored-messages" }, "release_url": "https://pypi.org/project/django-stored-messages/1.4.0/", "requires_dist": null, "requires_python": null, "summary": "Django contrib.messages on steroids", "version": "1.4.0" }, "last_serial": 1986580, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "108274f4d088886c1eb687d205464144", "sha256": "a304af666ace0a997a745f5c9c5b2a8ca1b63089d7a71f8d05d9477328b89d72" }, "downloads": -1, "filename": "django-stored-messages-0.1.0.tar.gz", "has_sig": false, "md5_digest": "108274f4d088886c1eb687d205464144", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10090, "upload_time": "2013-10-08T10:59:04", "url": "https://files.pythonhosted.org/packages/a9/aa/d090c63908eeb3bf7f08de7fc7c5d1c88c983573f8581e2ced43cc077ca2/django-stored-messages-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ef0b4d978e0f14cb45d3d89fcee97d6d", "sha256": "9ec457f1bc4047940de74046456b9ff655c5f1c618be7c75bd7552706740f5f2" }, "downloads": -1, "filename": "django-stored-messages-0.1.1.tar.gz", "has_sig": false, "md5_digest": "ef0b4d978e0f14cb45d3d89fcee97d6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10292, "upload_time": "2013-10-10T13:55:53", "url": "https://files.pythonhosted.org/packages/60/e1/c1131189e1acbf1f980125725783af5376371eea22f82679f73e44b6ec33/django-stored-messages-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "26bf2490273c2eb4fd0b3b408d1368fc", "sha256": "cbb28a278b8783472157e40d2a6a84d4e8a66039b3b5d3aa06656dd98e2cc8ee" }, "downloads": -1, "filename": "django-stored-messages-0.1.2.tar.gz", "has_sig": false, "md5_digest": "26bf2490273c2eb4fd0b3b408d1368fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11509, "upload_time": "2013-10-13T14:07:04", "url": "https://files.pythonhosted.org/packages/de/bf/7049b42bab340f44a3fd1ec0d4f4bdd582e8b45bdcf8fee08e1ce07a8593/django-stored-messages-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f57757e178ddd2663c61040c4e197ea6", "sha256": "f111277b7a982f85265bda42c59a8cc5555bfe239f0d8126b4bcda8e664451e8" }, "downloads": -1, "filename": "django-stored-messages-0.2.0.tar.gz", "has_sig": false, "md5_digest": "f57757e178ddd2663c61040c4e197ea6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12026, "upload_time": "2013-10-22T20:09:28", "url": "https://files.pythonhosted.org/packages/30/bb/4a0787e49fbcb5268620c7df17b2c3d67646dd1931c7b3c13c5f892c5f78/django-stored-messages-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "ad9601056c4945e0e15d2a8353fce0a1", "sha256": "1eafc5f4ac67a48f857ce60f2f5f177761cbc5b5f9481cf1de29584a6cf1a753" }, "downloads": -1, "filename": "django-stored-messages-0.2.1.tar.gz", "has_sig": false, "md5_digest": "ad9601056c4945e0e15d2a8353fce0a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12070, "upload_time": "2013-12-23T15:40:48", "url": "https://files.pythonhosted.org/packages/cb/ad/2dccc920f5af2d8250bc126543bbfa22a2f6bf63f26d2a17d1b4b50fefaf/django-stored-messages-0.2.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "27ca416cea34df9cb4d12d37e33547f4", "sha256": "52fdeb3766335c8b9636da00575d78810f97d1072efd095bc3c62a325987169a" }, "downloads": -1, "filename": "django-stored-messages-1.0.0.tar.gz", "has_sig": false, "md5_digest": "27ca416cea34df9cb4d12d37e33547f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13623, "upload_time": "2014-04-03T16:29:06", "url": "https://files.pythonhosted.org/packages/41/e9/4bdf3aafff96323b55008edd0461f35b92b80844ea6df197f0a8271216f8/django-stored-messages-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "dbccecc20a34c961696e5e2c8eb23d0b", "sha256": "506ded6be86f5b328ab120fa304bc34ca1f5d95d5fb81f69e7f4633ed469dce4" }, "downloads": -1, "filename": "django-stored-messages-1.0.1.tar.gz", "has_sig": false, "md5_digest": "dbccecc20a34c961696e5e2c8eb23d0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15500, "upload_time": "2014-04-17T08:07:25", "url": "https://files.pythonhosted.org/packages/41/0b/6fd7ea77e6119e4389ac32e98a0b5b6f15b07ded111bc9bd4814773797bd/django-stored-messages-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "78ed3bc058f6dd5229221f1a13ff4019", "sha256": "31a01ccc3cfa4629cf353a42a9917d02926510ebbaa3b114b035835a2e524761" }, "downloads": -1, "filename": "django-stored-messages-1.0.2.tar.gz", "has_sig": false, "md5_digest": "78ed3bc058f6dd5229221f1a13ff4019", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14739, "upload_time": "2014-09-05T15:16:55", "url": "https://files.pythonhosted.org/packages/d7/0c/fe46292f5116885199d216977e392ba5dc363ca28a696b66f75082bc42b2/django-stored-messages-1.0.2.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "8c8930c45b4b7aec87d5766438f7807f", "sha256": "69b213b1000677b8397a1728cac502df4b2139d49779f28deafe8daa18606445" }, "downloads": -1, "filename": "django-stored-messages-1.1.0.tar.gz", "has_sig": false, "md5_digest": "8c8930c45b4b7aec87d5766438f7807f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13941, "upload_time": "2015-02-06T21:05:57", "url": "https://files.pythonhosted.org/packages/e5/0e/91df35711d23f92e02717fabc609149cff5e9991cd2b5e26295892148bc7/django-stored-messages-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "69c15fb87305dc7bf99ea3a61efb4e89", "sha256": "4e26c371570845d838ec56bb45e31a1cc0916a562f7499deddc9329ad4e23f21" }, "downloads": -1, "filename": "django-stored-messages-1.2.0.tar.gz", "has_sig": false, "md5_digest": "69c15fb87305dc7bf99ea3a61efb4e89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19243, "upload_time": "2015-07-09T07:29:54", "url": "https://files.pythonhosted.org/packages/bc/0a/5f44462bb696dfbc233d8d0e5a2ca441011c7cb46bb0f6c3f5a5234d87d9/django-stored-messages-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "1710759bb2c0d332e31d7d133981559a", "sha256": "e974926cc7f9e0f12c2e198e46b6969fc95e82e3793f4213923fda0d4ea332b8" }, "downloads": -1, "filename": "django-stored-messages-1.3.0.tar.gz", "has_sig": false, "md5_digest": "1710759bb2c0d332e31d7d133981559a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19455, "upload_time": "2015-07-17T08:48:56", "url": "https://files.pythonhosted.org/packages/a1/06/22f49ee41c4abc349418494467a1b01cb53a3048e6ce3777d8d6340ce068/django-stored-messages-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "5e3fda38a1effdf1ad255179e78add85", "sha256": "bcfd3617023b886799f8f8aca991eb19eed681790e14fe04e10d83f393f7941a" }, "downloads": -1, "filename": "django-stored-messages-1.3.1.tar.gz", "has_sig": false, "md5_digest": "5e3fda38a1effdf1ad255179e78add85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19621, "upload_time": "2016-03-02T22:02:17", "url": "https://files.pythonhosted.org/packages/bf/ae/d67ce29751ca5e9723c63cc8c2447b141a1e5ffa11ef1df760441d787b77/django-stored-messages-1.3.1.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "67534f213afc2101f6b6bad3e0545eef", "sha256": "00ded1c9ca5544325201fe2e8d7a4c5d97f3ba3dc07ec05312607d297df5031b" }, "downloads": -1, "filename": "django-stored-messages-1.4.0.tar.gz", "has_sig": false, "md5_digest": "67534f213afc2101f6b6bad3e0545eef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20459, "upload_time": "2016-03-02T22:30:02", "url": "https://files.pythonhosted.org/packages/d4/09/459ec52edc6d32f242fe975d139598224c83e2fcc96c658931ea154321f3/django-stored-messages-1.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "67534f213afc2101f6b6bad3e0545eef", "sha256": "00ded1c9ca5544325201fe2e8d7a4c5d97f3ba3dc07ec05312607d297df5031b" }, "downloads": -1, "filename": "django-stored-messages-1.4.0.tar.gz", "has_sig": false, "md5_digest": "67534f213afc2101f6b6bad3e0545eef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20459, "upload_time": "2016-03-02T22:30:02", "url": "https://files.pythonhosted.org/packages/d4/09/459ec52edc6d32f242fe975d139598224c83e2fcc96c658931ea154321f3/django-stored-messages-1.4.0.tar.gz" } ] }