2010-02-18 6 views
0

HI,Django: les balises de modèle et scripts Javascripts pour correspondre

Je suis en train d'écrire un tas de balises de modèle pour une application Django, qui ont besoin d'une certaine bibliothèque javascript.

Chacune de ces balises de gabarit peut exister plusieurs fois sur le même gabarit.

Je me demandais s'il y avait une manière intelligente que je pourrais ajouter la bibliothèque de Javscript dans les modèles de templatetag?

Voici un exemple TemplateTagA utilise customA.js et TemplateTagB utilise customB.js. Si je devais ajouter une balise de bloc javascript supplémentaire avec {{block.super}} (pour ne pas écraser les autres js ajoutés), et TemplateTageA a été utilisé 3 fois, customA.js serait ajouté 3 fois.

Donc ce n'est pas une solution idéale.

Je pourrais définir dans mon modèle de base une balise de bloc pour chaque script, mais qui ne serait pas maintenable.

D'autres idées?

J'ai quelques idées plus exotiques, comme tirer les urls source Javascripts dans un tableau, puis filtrer avant de les télécharger via Ajax.

Cependant, je ne suis pas sûr s'il y a de meilleures approches?

Dans l'attente de vos réponses ...

Répondre

2

J'essaie de comprendre: vos valeurs de balises de modèle seront blocs javascript? Ou les valeurs de votre modèle sont-elles définies dans la vue?

+0

Merci pour votre question. Fondamentalement, j'ai créé des balises de modèles qui sont des widgets, html et javascript. Le développeur qui a travaillé sur ce projet a inséré des balises de script à l'intérieur du tag de modèle html. Cependant, cela signifie beaucoup de répétition lorsque la même étiquette de modèle a été utilisée plusieurs fois sur une page. J'ai donc créé un script javascript contenant une fonction pour la balise template. Je pensais que ce serait cool si je pouvais insérer l'étiquette de script d'inclusion si elle n'avait pas été incluse sur cette page. Cela réduit la nécessité d'ajouter la balise script include dans le modèle de page. –

Questions connexes