1

我正在使用Django Postman 进行我的 django 网站的两个用户之间的互通。

但是当我向另一个用户发送消息时。它不会传递给接收者。

我将我显示为已发送的消息。在http://127.0.0.1:8000/messages/sent

这里是settings.py设置

#############################   Django postman 

POSTMAN_AUTO_MODERATE_AS = True
POSTMAN_SHOW_USER_AS = True
POSTMAN_NOTIFIER_APP = True
###################################

一旦发送消息,它就会正确存储在 Dtabase 中,但不会出现在收件人收件箱中。

请告诉我我在这里做错了什么。

4

1 回答 1

1

我遇到了看似相同的问题,就我而言,原因是默认审核。

为了更好地诊断是否是这种情况,您可以:

  • 检查数据库中的“不可见”消息,例如使用 phpmyadmin。如果有 'p' 作为 m moderation_status 或在 moderation_... 列下有任何可疑之处,则此曲目可能不错;
  • 深入代码:找到 postman/models.py 并尝试使用 MessageManager 类,方法收件箱(因为其他消息目录都可以,所以这个很可疑)。任何过滤器都可能导致您的问题 - 对我来说,这显然是“moderation_status”。即使您的情况不同,这也是进一步调试的良好起点。

用例:让我们假设审核问题

我看到你有

POSTMAN_AUTO_MODERATE_AS = True

设置,但也许您在某处留下了审核功能,或者您的配置中的某些内容被覆盖了?Postman 的快速入门指南表明两者都是必要的:

要禁用审核功能(无控制,无过滤器):

  • 将此选项设置为 True
  • 不提供任何自动调节功能

我建议从您的 settings.py 中删除所有其他邮递员特定选项,只留下 POSTMAN_AUTO_MODERATE_AS = True 并检查是否有任何实用程序函数可能会干扰 Message 对象。

如需进一步参考,有关审核的更多信息在这里:https ://bitbucket.org/psam/django-postman/wiki/Moderation

于 2013-07-16T16:16:11.763 回答