mixins.pyファイルにGroupAwareMixinという mixin があります。
class GroupAwareMixin(object):
group = None
def get_group(self):
self.group = self.bridge.get_group()
def dispatch(self, request, *args, **kwargs):
if not self.group:
self.get_group()
views.pyファイルには、上記の GroupAwareMixin から継承する次の ListView があります。
class ChatListView(LoginRequiredMixin, GroupAwareMixin, ListView):
model = Chat
template_name = 'chat/home.html'
さらに、views.py ファイルにChatクラスがあり、上記の GroupAwareMixin クラスからグループ変数にアクセスしたいと考えています。Chat クラスのグループ変数にアクセスするにはどうすればよいですか?
class Chat(ws.WS, ChatListView):
def on_message(self, websocket, msg):
slug = self.group
ChatListViewから継承しようとしたのですが、Chatクラスのself.groupがNoneになっています。
LoginRequiredMixinは以下を定義します。
class LoginRequiredMixin(AccessMixin):
def dispatch(self, request, *args, **kwargs):
if not request.user.is_authenticated():
if self.raise_exception:
raise PermissionDenied # return a forbidden response
else:
return redirect_to_login(request.get_full_path(),
self.get_login_url(),
self.get_redirect_field_name())
return super(LoginRequiredMixin, self).dispatch(
request, *args, **kwargs)