Django公司贡献信息服用类固醇

django3-stored-messages的Python项目详细描述


https://travis-ci.org/evonove/django-stored-messages.png?branch=masterhttps://coveralls.io/repos/evonove/django-stored-messages/badge.pngDocumentation Statushttps://badge.fury.io/py/django-stored-messages.png

Django公司贡献信息服用类固醇

该应用程序与Django的messages framework顺利集成 (django.contrib.messages),但用户可以决定哪些消息必须存储在数据库中 后端并在会话期间保持可用。在

特点

  • django.contrib.messages
  • 所有特性都在一个mixin中,您可以将其附加到现有存储中
  • 存储的消息被归档到数据库或Redis实例中
  • 用户可以配置哪些消息级别必须被持久化
  • 用于检索消息并将其标记为已读的restapi(需要djangorestframework
  • 向api发送信号以执行响应消息活动的操作

兼容性表

  • Python 2.7、3.4、3.5
  • Django 1.8,1.9
  • Django Rest Framework>;=3.3(仅当您希望使用Rest端点时)

您是否使用Django或Django Rest框架的早期版本?一个old version of stored_messages甚至可用 如果不再受支持。无论如何,计划迁移到新版本。在

文件

完整文档位于http://django-stored-messages.rtfd.org。它包括migration instructions如果您是 正在从stored_messages的早期版本迁移。在

快速启动

按照指令启动django.contrib.messages, 然后安装应用程序:

$ pip install django-stored-messages

将其添加到已安装的应用程序:

^{pr2}$

在设置中,告诉Django哪个是消息存储:

MESSAGE_STORAGE='stored_messages.storage.PersistentStorage'

最后一步,别忘了运行Django迁移:

$ python manage.py migrate

然后通过django.contrib.messages应用程序编程接口。这个应用程序提供了方便 默认情况下保留的某些消息级别:

importstored_messagesfromdjango.contribimportmessages# standard messagemessages.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!')

存储的\u消息也会公开相同的api,因此可以执行以下操作:

importstored_messagesstored_messages.add_message(request,stored_messages.INFO,'Hello!')

如果您想使用标准的消息级别,但是要持久化这些消息,只需添加如下内容 设置:

fromdjango.contribimportmessagesSTORED_MESSAGES={# persist standard infos and standard errors'STORE_LEVELS':(messages.INFO,messages.ERROR,),}

迭代消息将自动将其标记为已读(但仍保持不变):

storage=messages.get_messages(request)forunread_messageinstorage:# unread_message could be a stored message or a "standard" Django messagedo_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',}

历史

2014年4月1日
  • 修复了inbox_get()后端api上的主要错误
  • 修复了redis后端消息的InboxSerializer
  • 增强型测试套件
  • 添加了messagedoesnotex描述并返回404

1.0.0(2014-04-01)

  • 支持Redis的新后端体系结构
  • 支持广播消息

0.2.1(2013-12-23)

  • 添加了存储的\u messages_count模板标记和测试

0.2.0(2013年10月22日)

  • 添加了存储的_messages_archive模板标记
  • 扩展REST api

0.1.2(2013年10月13日)

  • 为存储的消息添加了特定的模板标记

0.1.1(2013-10-10)

  • 固定的设置.py在

0.1.0(2013-10-08)

  • PyPI的第一个版本。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中的第10个解决方案   Java中泛型的super和extends组合   Java Android OpenGL ES 2.0片段着色器texture2D不工作   在JList elementJava上按下时打开弹出窗口   字典Java数据结构允许对象上的布尔标志和排序?   java我该如何停止为AWS关系数据库服务收费?   java如何检查Google定位准确度是否提高?   java使用Mockito将方法存根在与被测类相同的类中(CUT)   java IntelliJIdea disable inspection:参数的实际值始终为   java CXF+多态POST数据   java命名空间“ads”未绑定   Sun(1999)的“Java编程语言的代码约定”的编码风格过时了吗?   JAVA中的隐式接口、类转换   javafx如何配置Java登录应用程序代码   java如何在滚动窗格中设置选项卡以及如何显示选项卡标题   java中等式和条件运算符的优先级   java Spring WS无法返回JAXB响应   错误响应上的java jaxws处理程序行为   java Hibernate HQL映射查询