【问题标题】:Django building a user-to-user messaging system [closed]Django构建用户对用户的消息传递系统[关闭]
【发布时间】:2020-01-03 15:25:36
【问题描述】:

我正在尝试使用 Django 为我的网站构建一个消息传递系统,但我不知道该怎么做。我想要的是一个系统,它使用户能够向另一个用户发送消息,并带有一个收件箱来查看收到的消息和警告用户他收到消息的通知。由于它是许多网站需要的功能,我想在 Django 中已经存在一些内置函数和模板来做到这一点。我进行了一些研究,发现了现有的应用程序,例如 django-messages 或 django-postman,但是关于这些应用程序、在视图中使用它的方式、自定义消息模型或模板的方式、.. ...我猜这些应用程序没有被广泛使用,因为没有关于它们的教程或精确的文档,但我没有找到其他用于消息传递的应用程序。

总结我的问题,在 Django 中构建可定制的消息传递系统的最简单方法是什么?如果它是一个应用程序,我在哪里可以找到关于它的良好且简单的文档/教程?

提前致谢!

【问题讨论】:

  • 我使用github.com/arneb/django-messages,并不难,只需要制作您自己的模板,然后我们提供它们的网址和功能。看看他们的代码。文我有时间我试着写一些例子。
  • 谢谢你的回答,所以基本上你是通过查看他们的代码来学习 django-messages 的?然后我会尝试这样做

标签: django django-messages


【解决方案1】:

如果您想要一个快速简单的解决方案,我可以建议:

创建一个会话模型,该模型将使用 m2m 字段保存参与者和消息。 创建一个消息模型,它将保存发件人、收件人和消息内容以及其他元数据(发送日期、阅读日期等)

然后您应该为消息创建一个保存方法,该方法将根据发送者和参与者创建一个对话对象。

剩下的就是创建一些查询集,这些查询集将过滤掉消息和对话。

【讨论】:

  • 感谢您的回答,我正在考虑类似的事情,但问题是我希望用户收到消息通知,但我不知道如何用 Django 做这样的事情
  • 您已经在消息模型上“发送并读取”元数据。使用这些,您实际上可以查明是否有未读消息或新消息。对于实时通知,我建议您查看 django-notifications。
猜你喜欢
  • 2017-05-23
  • 2015-12-17
  • 2016-05-07
  • 1970-01-01
  • 1970-01-01
  • 2011-07-04
  • 1970-01-01
  • 2011-01-22
  • 2011-06-07
相关资源
最近更新 更多