跳转到主要内容

向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 (277.7 kB 查看哈希值)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面