- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以message_set
不赞成使用新的消息框架。好老message_set
允许我给离线用户留言(例如,当我在 cron 工作中做一些事情时,我可能想通知一些用户)。现在看一看新框架,似乎只能在request
中添加一条消息。目的。
我是否遗漏了什么,或者是向 user
添加消息的功能对象不见了,这意味着我必须自己动手?
最佳答案
看起来你没有遗漏任何东西。向 user
添加消息的功能对象将在 Django 1.2 中被弃用,并在 1.4 中完全删除(来自 django 身份验证文档 here )。并且没有任何新的消息存储后端是为消息的持久性(例如数据库或文件存储)预先滚动的。
但一切都没有丢失。我在新的消息存储后端代码中没有看到任何内容坚持您在存储消息时提供有效的请求(例如,存储来自 cron 作业的消息会起作用)。如果我是你,我会推出自己的后端,将消息存储在数据库表中。
编辑:你如何实现这个
如果您同意将离线消息存储实现为新消息后端之一的 bolt ,那么一种可能的方法是:
class UserMessage(models.Model):
user = models.ForeignKey('auth.User')
message = models.CharField(max_length=200)
created = models.DateTimeField(auto_now_add=True)
def some_func_in_my_cron_job():
...
UserMessage.create(user=some_user, message="Something happened")
...
from django.contrib.messages.storage.session import SessionStorage
class MyStorageEngine(SessionStorage):
def _get(self, *args, **kwargs):
if hasattr(self.request, "user") and self.request.user.is_authenticated():
offline_messages = UserMessage.objects.filter(user=self.request.user)
# and delete the messages from the database
else:
offline_messages = None
other_messages = super(MyStorageEngine, self)._get(*args, **kwargs)
# all_messages = combine offline_messages and other_messages
return all_messages
MESSAGE_STORAGE = 'myproj.custom_message_storage.MyStorageEngine'
关于Django - 使用新的消息框架给(离线)用户留言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1985730/
这是一个关于 Yii2 中 RBAC 使用的问题。 到目前为止,我发现它工作得相当好且令人满意,但是我缺少一个关键功能:Yii2 规则提供“反馈”的能力与 Yii2 验证器设置错误消息以解释验证失败的
(仅供引用 - 我是新 ASB) 有关 Azure 服务总线的几个问题: 如何从队列中获取消息但将其保留在那里直到其 TTL 过期?我本以为只要不调用 CompleteMessageAsync 就可以
<!--网站目录 <divclass="function"id="divCatalog"&
我正在使用 Twilio 调用我的客户以提醒他们某些日期。由于有些人不接听这些电话,我想让我的 Twilio 在他们的答录机上留下语音消息。 那可能吗?如果是如何? 谢谢 最佳答案 来自关于 IfMa
我是一名优秀的程序员,十分优秀!