3 votes

Dépendance de l'application django vers le plugin jquery

J'écris une application django réutilisable. Cette application utilise l'outil êtes-vous sûr bibliothèque jquery.

Objectif

L'installation de mon application avec toutes les dépendances devrait être facile.

Cas d'utilisation

Si un développeur veut utiliser mon application, la ligne suivante devrait installer toute l'application (y compris le plugin are-you-sure) :

pip install myreusableapp

Question

Quelle est la solution la plus courante pour intégrer une dépendance au code JS open source ?

Ne fait pas partie de la question

  • Les dépendances vers d'autres codes python se font par l'intermédiaire de install_requires en setup.py . Fonctionne très bien.
  • Pousser mon code django vers pypi ne fait pas partie de la question. Cela fonctionne bien.

3voto

Dekel Points 41575

Puisqu'il s'agit d'une bibliothèque javascript open-source, vous pouvez vous appuyer sur les CDN (de la même manière que vous vous appuyez sur jQuery dans votre code).

Dans cet exemple précis, vous pouvez utiliser cdnjs pour cela :
https://cdnjs.com/libraries/jquery.AreYouSure

Assurez-vous simplement que le modèle que vous utilisez inclut le fichier script correspondant :

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery.AreYouSure/1.9.0/jquery.are-you-sure.min.js"></script>

2voto

Comme l'a dit Dekel, la solution la plus simple consiste à utiliser un CDN tiers.

Si, toutefois, vous ne souhaitez pas vous appuyer sur un CDN tiers, la solution la plus courante consiste à inclure une copie de la bibliothèque JS dans le référentiel de votre application. Par exemple, vous pouvez inclure une copie de la bibliothèque JS dans le dépôt de votre application, django lui-même le fait avec jquery . Vous devrez utiliser le argument package_data de setup() pour inclure la bibliothèque JS dans votre produit distribuable.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X