我有一个使用Django Rest Framework的REST API,所以我想要实现的是:
但是我无法在Django频道中获得会话。
我无法在会话中设置密钥的位置附加代码,因为它是巨大的代码。我只附上一条简单的线:
request.session['random_key'] = 'somerandomkey'
这是我的django频道代码:
这是我的频道代码:
def connect(self):
# Don't let anybody
if self.scope['session'].get('random_key'): # Not working, i am not getting the random_key
async_to_sync(self.channel_layer.group_add)(
self.scope['session'].get('random_key'),
self.channel_name)
self.accept()
但是!!当我向API提出请求并设置了会话时,该会话集在通道中的会话中不可用。如果我在“常规” Django请求中设置会话,则它在Django通道会话中存在。所以问题出在Django Rest Framework上,我没有将Django Rest Framework中设置的会话放入通道范围。