Python Django频道[multichat示例]:如何设置admin以允许向文件室添加用户?
我正在尝试基于以下示例构建自定义聊天服务器: 到目前为止,我已经使用了基本代码,但现在我希望修改/admin页面,以允许将一个或多个用户添加到一个文件室,而不仅仅是让用户“加入”一个文件室。我对Python2/3和Flask很有经验,但对Django来说还是相当陌生的,我花了几个小时试图找到线索或相关代码,但迄今为止没有多少成功 似乎“管理操作”对调用chat.consumers.chat_join()很有用,我还认为我需要向chat.models的Room类添加一个“user”字段,但现在我不确定下一步该怎么做。我已经学习了官方Django文档、示例/频道代码本身和许多其他网站,但我希望能得到一些帮助 如果其他人处于类似情况,有两点需要注意:Python Django频道[multichat示例]:如何设置admin以允许向文件室添加用户?,python,django,django-channels,Python,Django,Django Channels,我正在尝试基于以下示例构建自定义聊天服务器: 到目前为止,我已经使用了基本代码,但现在我希望修改/admin页面,以允许将一个或多个用户添加到一个文件室,而不仅仅是让用户“加入”一个文件室。我对Python2/3和Flask很有经验,但对Django来说还是相当陌生的,我花了几个小时试图找到线索或相关代码,但迄今为止没有多少成功 似乎“管理操作”对调用chat.consumers.chat_join()很有用,我还认为我需要向chat.models的Room类添加一个“user”字段,但现在我
owner=models.ForeignKey(用户,on\u delete=models.SET\u NULL,NULL=True)
在utils.py.get\u room\u或\u error()中:
ForeignKey的使用允许通过管理员页面将用户分配到房间
真的很简单,只要你知道怎么做:-)
我仍然需要允许“员工”访问,但这应该很容易。将房间想象成一张桌子,记录每个请求和访问的成员。这样你就可以清楚地知道下一步该做什么。现在,您是否希望创建“Admin enable to chat to the room”(管理员启用聊天室)并通过选择字段“enable/Disable=default”进行操作,然后在您的消费者功能中处理每条消息当这些特定条件不满足时,您可以随意丢弃消息。感谢您的回复,但在阅读之后,我现在找到了自己的解决方案。
username = user.get_username()
if username != str(room.owner):
raise ClientError("ROOM_ACCESS_DENIED")