Development #54592
dashboard, ne pas charger toutes les cellules de la page
0%
Description
Pour l'affichage d'une page toutes les cellules de celles-ci sont chargées,
cells = CellBase.get_cells( page=page, select_related={'data_linkcell': ['link_page']}, prefetch_validity_info=True )
dans le cas d'une cellule tableau de bord, ça va faire plein de cellules qui ne seront pas affichées parce que pas pour la bonne personne, et qui n'auraient a priori même pas besoin d'être chargées parce qu'elles arriveront en fait via la mécanique de tuiles,
def render(self, context): tiles = Tile.objects.filter(dashboard=self, user=context['user'])
Je ne suis jamais fan d'amener quelque chose de particuler à un composant dans le code général de rendu mais ça pourrait aider ici de ne pas charger pour le rendu de la page les cellules qui ont un placeholder en rapport avec le tableau de bord.
Ordre de grandeur :
_auto_tile 3511 _dashboard 1658 _suggested_tile 53434 content 10 footer 1 sidebar 7
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a presque 3 ans
- Fichier 0001-general-do-not-preload-tile-cells-when-rendering-pag.patch 0001-general-do-not-preload-tile-cells-when-rendering-pag.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Idéalement on aurait eu un pattern clair pour le placeholder des tuiles mais ça n'est pas le cas.
Mis à jour par Nicolas Roche il y a presque 3 ans
- Statut changé de Solution proposée à Solution validée
Testé ok.
Si j'ai bien compris à chaque fois que quelqu'un ajoute une tuile à son tableau de bord, ça crée une cellules '_placeholder' ?
Mis à jour par Frédéric Péters il y a presque 3 ans
Ça ajoute une cellule attachée à la page tableau de bord. ("ça crée une cellules '_placeholder' je ne comprends pas mais non).
Mis à jour par Nicolas Roche il y a presque 3 ans
J'étais juste surpris de voir autant de cellules _placeholder en testant,
mais à me relire, oui il n'y a rien à comprendre en fait.
Mis à jour par Frédéric Péters il y a presque 3 ans
En fait je comprends (peut-être) seulement maintenant que ce que tu appelles "cellules _placeholder" c'est "cellules dont le placeholder commence par un underscore", correct ?
Mis à jour par Nicolas Roche il y a presque 3 ans
Oui c'est ça, mais en fait j'ai vraiment rien à dire ici et j'aurais juste du valider sans poser de question.
Mis à jour par Frédéric Péters il y a presque 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 188be78eaf67ff02d19d52fdb497ace33786c483 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Fri Jun 4 15:15:55 2021 +0200 general: do not preload tile cells when rendering page (#54592)
Mis à jour par Frédéric Péters il y a presque 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
general: do not preload tile cells when rendering page (#54592)