Django contrib.messages增强版
项目描述
Django contrib.messages增强版
该应用与Django的messages框架(django.contrib.messages)无缝集成,但用户可以决定哪些消息需要存储在数据库后端并在会话中保持可用。
功能
与django.contrib.messages无缝集成
所有功能都在一个mixin中,您可以将它附加到现有的存储
存储的消息存档在数据库或Redis实例中
用户可以配置需要持久化的消息级别
REST API用于检索和标记消息为已读(需要djangorestframework)
信号API用于对消息活动执行操作
兼容性表
Python 2.7, 3.4, 3.5
Python Django 1.8, 1.9
Django Rest Framework >= 3.3(如果您想使用REST端点的话)
您使用的是更早版本的Django或Django Rest Framework吗?即使不再支持,也有一个旧版本的stored_messages可用。无论如何,计划迁移到新版本。
文档
完整文档在http://django-stored-messages.rtfd.org。它包括如果您从旧版本的stored_messages迁移的迁移说明。
快速入门
遵循django.contrib.messages的启动说明,然后安装该应用程序
$ pip install django-stored-messages
将其添加到已安装的应用程序中
INSTALLED_APPS = (
# ...
'stored_messages',
)
在设置中,告诉Django哪个是消息存储
MESSAGE_STORAGE = 'stored_messages.storage.PersistentStorage'
最后一步,不要忘记运行Django迁移
$ python manage.py migrate
然后在项目中通过django.contrib.messages api使用它。该应用程序提供了一些方便的消息级别,默认情况下会持久化
import stored_messages
from django.contrib import messages
# standard message
messages.add_message(request, messages.INFO, 'Hello world.')
# this will be persisted and marked as 'unread'
messages.add_message(request, stored_messages.STORED_INFO, 'Hello world, to the database!')
stored_messages同样提供了相同的api,因此可以这样做
import stored_messages
stored_messages.add_message(request, stored_messages.INFO, 'Hello!')
如果您想使用标准消息级别但持久化消息,只需将以下内容添加到设置中
from django.contrib import messages
STORED_MESSAGES = {
# persist standard infos and standard errors
'STORE_LEVELS': (messages.INFO, messages.ERROR,),
}
迭代消息会自动将它们标记为已读(但仍然持久化)
storage = messages.get_messages(request)
for unread_message in storage:
# unread_message could be a stored message or a "standard" Django message
do_something_with(unread_message)
……除非您将存储标记为未使用
storage.used = False
您可以在任何时候将存储的消息标记为已读
stored_messages.mark_read(request.user, message)
想将您的消息存储在Redis而不是数据库中吗?请看这里
STORED_MESSAGES = {
'STORAGE_BACKEND': 'stored_messages.backends.RedisBackend',
'REDIS_URL': 'redis://localhost:6379/0',
}
示例
历史
1.0.1 (2014-04-17)
修复了inbox_get()后端api上的主要错误
修复了InboxSerializer以支持redis后端的消息
增强测试套件
添加了MessageDoesNotExist描述并返回404
1.0.0 (2014-04-01)
添加了对Redis的支持的新后端架构
支持广播消息
0.2.1 (2013-12-23)
添加了stored_messages_count模板标签和测试
0.2.0 (2013-10-22)
添加了stored_messages_archive模板标签
扩展REST api
0.1.2 (2013-10-13)
添加了存储消息的特定模板标签
0.1.1 (2013-10-10)
修复了setup.py
0.1.0 (2013-10-08)
首次发布在PyPI。
项目详情
django-stored-messages-1.4.0.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 00ded1c9ca5544325201fe2e8d7a4c5d97f3ba3dc07ec05312607d297df5031b |
|
MD5 | 67534f213afc2101f6b6bad3e0545eef |
|
BLAKE2b-256 | d409459ec52edc6d32f242fe975d139598224c83e2fcc96c658931ea154321f3 |