11
votes

Comment fournir des plugins de JQuery externes $ à des tiers à Django admin

J'ai inclus quelques plug-ins tiers JQuery Plugins dans mon modèle de base d'administrateur Django qui assumez "$" à être disponible.

Pour mon propre code, j'ai toujours été heureux de faire P >

<script type="text/javascript">var $ = django.jQuery;</script>


3 commentaires

La redéfinition serait doublement fausse, car vous déclarez une variable globale qui n'a aucun effet sur les noms de paramètres de fonction.


Désolé, c'était juste une tentative de contournement sale. J'ai modifié la question de préciser que je ne veux pas toucher à ces fichiers de bibliothèque externes.


Mon point est que la solution sale ne fonctionnerait pas. :)


3 Réponses :


1
votes

Ouais, je me souviens de ce problème. Je ressens ta douleur.

Une bonne solution de contournement consiste à restructurer vos fichiers JS de manière à ce que Django puisse les lire comme des URL. Dans votre fichier URLS, ajoutez le motif ci-dessous: p>

<script type="text/javascript" src="/js/name"></script>
<script type="text/javascript" src="/js/thing"></script>


4 commentaires

1. Tout comme j'ai commencé à aimer les nouveaux statiques ... 2. Sans que je l'ai déjà essayé, quelle est la différence magique? N'est-ce pas simplement servir de manière dynamique le même fichier statique? "$" Est-il apparu à ce moment-là?


À la deuxième pensée, non, ça n'a pas. Tous ces problèmes sont la clientèle.


Commencez par le haut, ouvrez votre chemin vers le bas. Tout d'abord, déplacez votre $ = django.jQuery; Affectation ci-dessus tout le reste, voir si cela fonctionne. Si ce n'est pas le cas, assurez-vous que toutes vos balises