Je lis ça comme "appelle moi la méthode parente de LoginRequirendMixin quis 'appelle dispatch." Or LoginRequiredMixin n'a pas de dispatch. ça fait mal.
Non en fait c'est fait pour appeler les methodes des classes parentes (appelé "super" dans le monde python). En gros il faut lire cette ligne "appel moi la methode dispatch des classes parentes de self en le considérant comme un LoginRequiredMixin
". Donc ce n'est pas la méthode de LoginRequiredMixin
qui va être appelé, mais celle de la première classe parente qui va être disponible.
A cause du ducktyping, on a pas vraiment le choix si on veut éviter de mettre spécifiquement le nom de la classe parente.
Pour autant je concède que c'est cryptique. En python 3 cette technique a été largement simplifié et se résume souvent à super().dispatch(*args, **kwargs)