将converse.js(javascript xmpp客户端)添加到django
django-conversejs的Python项目详细描述
此应用程序旨在使Converse.js更容易集成到django中。
当前django-conversejs提供:
- converse.js的一个小型分布
- 模板标记,帮助您在django项目中包含converse.js
- 存储每个用户的xmpp用户和密码的数据库模型
- 通过settings.py进行converse.js配置
- 类似单点登录(SSO)的体验
安装和配置
从TracyWebTech/fix-geventbranch:
安装sleekxmpppip install git+https://github.com/TracyWebTech/SleekXMPP@fix-gevent
安装django conversejs:
pip install git+https://github.com/TracyWebTech/django-conversejs
将conversejs添加到您设置中已安装的应用程序中。py:
INSTALLED_APPS={...'conversejs',...}
在设置中配置bosh服务url.py:
CONVERSEJS_BOSH_SERVICE_URL='https://my-bosh-service.com'
使用django conversejs自定义标记加载模板中的静态文件:
{%loadconversejs%} ... <head> ... {%conversejs_static%} ... </head>
使用我们的自定义标记加载聊天面板和javascript初始化器:
{%loadconversejs%} ... {%conversejs_chatpanel%}{%conversejs_initialize%}</body>
更新数据库架构:
python manage.py syncdb python manage.py migrate # optional
添加xmpp帐户
- 登录django管理员
- 单击“+添加”按钮添加xmpp帐户
- 从“选择”框中选择用户,然后键入帐户的JabberID和密码
现在,每次选择用户登录站点时,他都会自动登录到xmpp中。 使用您提供的凭据的服务器。
启用xmpp自动注册
通过启用自动注册,django-conversejs将尝试创建新的 xmpp帐户的每个用户没有一个,只要他们登录到你的网站。
若要启用,只需将CONVERSEJS_AUTO_REGISTER选项添加到 将其设置为xmpp服务的域。注意xmpp 服务器和bosh服务url是两个不同的东西。
例如:
CONVERSEJS_BOSH_SERVICE_URL='https://my-bosh-service.com'CONVERSEJS_AUTO_REGISTER='xmpp.mycompany.com'
在上面的示例中,django将从request.user.username获取用户名,并 尝试在xmpp域xmpp.mycompany.com下注册,因此如果用户john登录到xmpp域,则会尝试注册john@xmpp.mycompany.com。
如果由于任何原因注册失败,django-conversejs将对每个请求再次尝试。这是需要改进的地方。
表格
如果要创建自定义表单以保持网站的外观,可以使用 从conversejs.forms开始。
converse.js版本
我们目前提供converse.jsv0.6.4(补丁)。
如果需要更新版本,请打开问题或请求拉取。
待办事项
- 编写测试
- 允许用户重置xmpp帐户密码。这对于允许使用其他xmpp客户机很有用。
- 允许用户设置化身
- 在Django中更新时自动更新xmpp名称和电子邮件(使用信号)