【问题标题】:from a single user to multiple users Django app从单个用户到多个用户 Django 应用程序
【发布时间】:2017-10-12 21:37:00
【问题描述】:

我有一个模拟客户服务的聊天机器人 Web 应用程序,它通过请求/响应和一些后端 python 文件获取输入并显示输出。到目前为止,它一次只为一个用户工作。现在我希望它同时与多个用户交谈,每个用户都有他/她的聊天页面和 cabot 应用程序。我发现我应该使用:

  1. Django 多会话==> 为每个用户创建一个会话。
  2. 子流程==>为每个用户会话创建一个聊天机器人应用程序。

我不知道怎么解决的问题?!​​。所以,如果这些资源可以用来举例说明如何实现它,那将非常有帮助。

PS:我正在使用 Django 10.1、Python3 和 Django 开发领域的新版本。

谢谢,

【问题讨论】:

    标签: python django session


    【解决方案1】:

    我认为您不需要使用 django-multi-sessions 或子进程,您可以利用 Django 的内置会话框架将聊天机器人状态与单个会话相关联。如果您让每个用户都登录,您还可以使用django.contrib.auth 将聊天机器人状态与各个用户相关联。链接如下。

    每个请求/响应周期相互独立地执行。对你的聊天机器人如何工作以及它的 I/O 通过 Django 进行一些假设:在你看来,首先根据会话 ID 或用户 ID 获取或初始化适当的聊天机器人状态,根据该状态处理输入,存储持久化下一个请求/响应周期的聊天机器人状态,并返回响应。

    https://docs.djangoproject.com/en/1.11/topics/http/sessions/

    https://docs.djangoproject.com/en/1.11/ref/contrib/auth/

    http://django-book.readthedocs.io/en/latest/chapter14.html

    Filtering content based on users in django

    【讨论】:

    • 感谢您的回复。基本上,我不需要登录或验证用户。我希望任何用户只需单击“开始聊天”按钮并与聊天机器人交谈。因此,我应该按照您的建议使用会话框架。
    • 请问您所说的“聊天机器人状态”是什么意思?
    • “聊天机器人状态”是指您需要存储的与特定对话相关的任何数据,以便聊天机器人能够发挥作用——例如对话历史记录。
    • 最后一个问题:打开聊天机器人聊天页面时,我是否必须为每个用户创建一个新会话?然后让聊天机器人根据用户/会话 ID 重播每个用户请求?因为必须保存对话才能让 chabot 记住用户提出的问题
    • 这听起来很合理,但您不必手动创建每个会话。当新用户访问该页面时,Django 会自动设置会话。
    猜你喜欢
    • 2013-02-08
    • 2017-03-04
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 2012-03-16
    • 2020-10-11
    相关资源
    最近更新 更多