Session Chatbot是使用django频道开发的,无法保存特定于会话的聊天日志
我已经能够开发多用户聊天机器人[使用django频道、芹菜和redis]指南和示例。我现在面临的问题是,我无法保存特定于会话(用户)的对话日志,因为我是新手。如果有人能告诉我如何保存会话特定的对话日志。非常感谢 主管道的routing.pySession Chatbot是使用django频道开发的,无法保存特定于会话的聊天日志,session,chatbot,django-channels,Session,Chatbot,Django Channels,我已经能够开发多用户聊天机器人[使用django频道、芹菜和redis]指南和示例。我现在面临的问题是,我无法保存特定于会话(用户)的对话日志,因为我是新手。如果有人能告诉我如何保存会话特定的对话日志。非常感谢 主管道的routing.py from channels.routing import ProtocolTypeRouter, URLRouter from channels.sessions import SessionMiddlewareStack import chat.routi
from channels.routing import ProtocolTypeRouter, URLRouter
from channels.sessions import SessionMiddlewareStack
import chat.routing
application = ProtocolTypeRouter({
"websocket": SessionMiddlewareStack(
URLRouter(
chat.routing.websocket_urlpatterns
)
),
})
用于聊天的routing.py
from django.conf.urls import url
from . import consumers
websocket_urlpatterns = [
url(r'^ws/chat/$', consumers.ChatConsumer),
]
消费者.py
from asgiref.sync import async_to_sync
from channels.generic.websocket import WebsocketConsumer
from django.conf import settings
class ChatConsumer(WebsocketConsumer):
def receive(self, text_data):
text_data_json = json.loads(text_data)
message = text_data_json['message']
message_parts = message.split()
if message_parts:
command = message_parts[0].lower()
response_message = 'Nice to meet you!'
self.scope["session"]["reply"] = response_message
self.scope["session"].save()
print(self.scope["session"]["reply"])
async_to_sync(self.channel_layer.send)(
self.channel_name,
{
'type': 'chat_message',
'message': response_message
}
)
def chat_message(self, event):
message = event['message']
# Send message to WebSocket
self.send(text_data=json.dumps({
'message': f'[bot]: {message}'
}))
欢迎来到stackoverflow。如果不演示您已经尝试过的内容,其他用户就很难知道如何帮助您。请查看并完善您的问题。我已经嵌入了代码,请帮助我了解为什么没有为保存的会话回复日志填充django_会话数据库。我来看看stackoverflow。如果不演示您已经尝试过的内容,其他用户就很难知道如何帮助您。请查看并完善您的问题。我已经嵌入了代码,请帮助我了解为什么没有为保存的会话回复日志填充django_会话数据库。谢谢