向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 |