J'envoie plusieurs formulaires à un modèle, et je veux mettre tous les médias requis dans la balise <head>
. Certains formulaires peuvent nécessiter le même média (par exemple, le même fichier JS), donc je voudrais unifier tous les médias avant de les mettre dans le <head>
. La question est, comment puis-je faire cela? Je sais que vous pouvez unifier deux médias en faisant m1 + m2
, mais cela apparaîtra moche dans le cas générique où j'ai un nombre inconnu de formes. Y a-t-il un raccourci?Django: manière correcte de grouper un tas de médias
2
A
Répondre
2
La meilleure façon que je pouvais trouver le faisait en utilisant compréhensions de liste et reduce
:
media = reduce(lambda x, y: x + y, [form.media for form in forms])
Je me demande s'il y a un moyen plus facile ...
0
Que se passe si vous utilisez juste {{ form.media }}
pour chaque forme, et lier les médias dans le formulaire Meta
? Je me souviens d'avoir veillé à ne rien insérer deux fois, mais ça fait longtemps.
Avez-vous déjà essayé?
Je ne suis pas sûr de comprendre - que voulez-vous dire par "relier les médias dans le formulaire Meta"? – olamundo
Désolé, mon erreur - il semble qu'il y ait une classe 'Media' que vous voulez utiliser (et que vous utilisez): http://docs.djangoproject.com/fr/dev/topics/forms/media/ – girasquid