向Django添加converse.js(JavaScript XMPP客户端)
项目描述
此应用程序旨在使将Converse.js集成到Django变得更加容易。
目前 django-conversejs 提供以下功能:
Converse.js的最小化分发版
模板标签,帮助您在Django项目中包含converse.js
数据库模型,用于存储每个用户的XMPP用户名和密码
通过settings.py进行Converse.js配置
类似单一登录(SSO)的体验
安装和配置
从TracyWebTech/fix-gevent分支安装SleekXMPP
pip install git+https://github.com/TracyWebTech/SleekXMPP@fix-gevent
安装django-conversejs
pip install git+https://github.com/TracyWebTech/django-conversejs
将conversejs添加到settings.py中安装的应用程序
INSTALLED_APPS = {
...
'conversejs',
...
}
在settings.py中配置BOSH服务URL
CONVERSEJS_BOSH_SERVICE_URL = 'https://my-bosh-service.com'
使用django-conversejs自定义标签在模板中加载静态文件
{% load conversejs %}
...
<head>
...
{% conversejs_static %}
...
</head>
使用我们的自定义标签加载聊天面板和JavaScript初始化器
{% load conversejs %}
...
{% conversejs_chatpanel %}
{% conversejs_initialize %}
</body>
更新数据库模式
python manage.py syncdb python manage.py migrate # optional
添加XMPP帐户
登录Django Admin
单击“+ 添加”按钮添加XMPP帐户
从下拉框中选择用户,然后输入帐户的JabberID和密码
现在,每次选择该用户登录您的网站时,他都将自动使用您提供的凭据登录XMPP服务器。
启用XMPP自动注册
通过启用自动注册,django-conversejs 将尝试为每个登录您网站的未拥有 XMPP 账户的用户创建一个新的 XMPP 账户。
要启用此功能,您只需将 CONVERSEJS_AUTO_REGISTER 选项添加到 settings.py,并将其设置为您的 XMPP 服务域名。请注意,XMPP 服务器和 BOSH 服务 URL 是两件不同的事情。
例如
CONVERSEJS_BOSH_SERVICE_URL = 'https://my-bosh-service.com'
CONVERSEJS_AUTO_REGISTER = 'xmpp.mycompany.com'
在上面的示例中,Django 将从 request.user.username 获取用户名,并尝试在 xmpp.mycompany.com 这个 XMPP 域名下注册,因此如果用户 john 登录,它将尝试注册 john@xmpp.mycompany.com。
如果由于任何原因注册失败,django-conversejs 将在每个请求上再次尝试。这是需要改进的地方。
表单
如果您想创建自定义表单以保持您网站的外观和感觉,您可以使用 conversejs.forms 作为起点。
Converse.js 版本
我们目前提供的 Converse.js 版本是 v0.6.4 (修补版)。
如果您需要更新版本,请提交一个问题或拉取请求。
待办事项
编写测试
允许用户重置 XMPP 账户密码。这对于允许使用其他 XMPP 客户端非常有用。
允许用户设置头像
当在 django 中更新 XMPP 名称和电子邮件时,自动更新 XMPP 名称和电子邮件(使用信号)
django-conversejs-0.3.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 91fe2a7bdde3bd68b3f53afc08bc600eb3b8f18f6b221e861fb59f34a7eaa894 |
|
MD5 | f8914210306590700203293cd5702771 |
|
BLAKE2b-256 | 2e7dbb00f4561911349c02af172236129879612ce70b96131cc256e2b77e8206 |