我正在开展网络项目,我必须进行网络聊天。我的结构或多或少是这样的:你有一个用户名,密码,昵称和电子邮件,你可以和你名单上的其他人聊天。我使用django(python)作为web后端,使用xmpp作为聊天部分。
我已经阅读了很多关于xmpp的内容,并且我使用节点实现了简单的聊天,添加和删除了联系人,昵称等。
我想问的是如何与django和ejabberd沟通,例如注册用户(我不想要在带内注册,我只想在用户创建帐户时启用注册),更改密码,更新昵称等等。大多数需要某种提升权限的事情。
我在发布之前做了一些研究,我知道sleekxmp,但就我而言,它只是一个xmpp的python库。另外,我还没有找到ejabberd的API。
谢谢。
答案 0 :(得分:0)
阅读blocking并使用类似django-celery工人的方法来规避这一点。你不想在视图中天真地使用光滑的xmpp客户端。
由于聊天是全双工的,您可能需要WebSocket + Django python WebService 或Django / Comet (Push): Least of all evils?甚至“oldskool”Long polling in Django
答案 1 :(得分:0)
默认情况下,ejabberd使用内部用户数据库,但您可以设置ejabberd来管理external auth script用户 - 有用于与Django app集成的示例脚本,对于现有数据库,您还可以编写自己的extauth脚本{ {3}}