3 votes

utilisation de balises de modèle django dans un JavaScript externe

J'ai inclus un fichier js (ex : application.js) dans ma page html mais je n'ai pas pu utiliser la balise template de django dans ce fichier js, y a-t-il un moyen d'utiliser la balise template de django directement dans un fichier js externe ?

6voto

neoascetic Points 1150

Seulement si vous analysez le JS comme un modèle.

Si vous avez besoin d'une variable à l'intérieur de JS (comme STATIC_URL ), il est possible d'utiliser

<script>window.staticUrl = "{{ STATIC_URL }}"</script>

ou

<html data-static-url="{{ STATIC_URL }}">

dans votre modèle de base

2voto

Keith Points 902

Non, pas si vous incluez le fichier application.js en tant que

<script src="application.js"></script>

Le chargeur de modèles de Django rendra simplement ceci à la sortie finale du code html. Les balises/filtres de gabarit de Django ne sont rendus que sur les pages de gabarit - ils ne s'appliquent pas aux sources externes.

Vous pouvez essayer de charger le fichier JavaScript en tant que texte dans le modèle. Ainsi, au lieu de faire référence à un fichier externe, vous "colleriez" le code du fichier dans le modèle.

1voto

lorien Points 404

Vous pouvez servir votre javascript comme une page dynamique. Créez une nouvelle vue django pour le servir (ou utilisez django.views.simple.direct_to_template) et utilisez le modèle avec votre contenu javascript actuel.

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