django.contrib.messages的离线插件
项目描述
django-user-messages向Django的消息框架添加离线消息支持。它通过允许将消息保存到数据库中来实现这一点。user_messages.api.get_messages实用程序和user_messages.context_processors.messages上下文处理器透明地将Django的消息和我们的消息合并成一个列表,因此现有代码无需任何更改即可正常工作,且不会导致数据库写入。django-user-messages的函数必须显式使用。我认为这是一个特性,而不是错误。
安装
使用pip在虚拟环境中安装django-user-messages。
将user_messages添加到INSTALLED_APPS中并运行migrate。
将 user_messages.context_processors.messages 消息处理器添加到默认消息处理器之后的位置。Django的admin应用会检查后者的存在,因此您不能直接删除它(除非您想禁用"admin.E404"系统检查)。
使用 user_messages.api 的方式与使用 django.contrib.messages 相同,但您需要传递用户模型或ID作为第一个参数,而不是当前请求。
用法
基本上与Django的消息框架相同
from user_messages import api api.info(user, 'Hey there') api.warning(user, 'Stop this') api.error(user, 'Not nice!') # Passing the ID is also possible; the user instance does not # have to be instantiated at all: api.success(user.id, 'Yay!')
django-user-messages的消息支持Django消息框架中不支持的两种附加功能
通过传递 deliver_once=False,可以将消息传递多次。这些消息必须被显式确认。django-user-messages不包含执行此操作的代码。
可以通过传递字典作为 meta 来附加额外的数据
api.debug(user, 'Oww', meta={ 'url': 'http://example.com', })
为了方便,我们的消息具有与Django消息相同的 tags 和 level_tag 属性。元属性也可以在模板中访问
{% if messages %} <ul class="messages"> {% for message in messages %} <li class="{{ message.tags }}".> {% if message.meta.url %}<a href="{{ message.meta.url }}">{% endif %} {{ message }} {% if message.meta.url %}</a>{% endif %} </li> {% endfor %} </ul> {% endif %}
django-user-messages的消息也是惰性评估的。
项目详情
下载文件
下载适合您平台的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
django_user_messages-1.1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 99ef6f94c921e181455278dd5d8bea54638f08abb4b3978a9ea09b2eb4781afd |
|
MD5 | 9b64dbdad0bc31ecb0acd45b7137f556 |
|
BLAKE2b-256 | f0555562fa32cdfc75e8d80e3d30b72c56e80e1356052bba3754a4ce6d50a93e |
django_user_messages-1.1.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dd502ea27acbe63561215db8f8232cb66ab7fdcad2d5299e4f8f3f7dd0e02370 |
|
MD5 | c4d16d2e0c1d9ddbf9f79aa4b117c271 |
|
BLAKE2b-256 | 0416756c5ed22d3cb7dc6c77c78b3c1a701c8de0b0b4a63b5c5edbfa0daa3c92 |