L'utilisation de Django balises de modèle en jQuery/Javascript?
Puis-je utiliser Django balises de modèle à l'intérieur de Javascript? Comme l'utilisation de {% form.as_p %}
en jQuery pour ajouter dynamiquement des formulaires de la page.
- je suppose que vous savez quand vous l'essayer 🙂
Vous devez vous connecter pour publier un commentaire.
Oui, je le fais souvent. Votre javascript doit être servi que par django, mais si vous venez dans le code html comme le javascript en ligne vous serez amende.
E. g: je l'utilise pour mettre le préfixe sur une dynamique formset que j'utilise.
Note dans "base.html" j'ai un code html
head
où les bibliothèques jquery sont chargés, qui contient{% block extrahead %}{% endblock %}
.<script> $(document).ready(function(){ $('#delete').submit.function(e){ e.preventDefault(); var station_id = {{ station.id }} $.ajax({ type: 'POST', url: '/station/' + station_id, headers: {'X_METHODOVERRIDE': 'DELETE'} }); }); }); </script>
Vous vois aucune raison pour que je l'aide de Django modèle de langue à l'intérieur de ce script (var station_id = {{ station.id }}
) de ne pas travailler.Vous ne pouvez pas utiliser Django balises de modèle de votre code Javascript si c'est ce que tu veux dire. Tous les Django variables et la logique d'arrêt existant après le modèle a été rendue et que la HttpResponse a été envoyée au client. À ce moment, quand le Javascript s'exécute, le client (navigateur) n'a aucune notion les variables que vous avez rendu le modèle avec (comme le "formulaire").
Ce que vous pouvez faire est d'avoir Javascript modifier votre page HTML à l'aide de morceaux de HTML qui ont été rendus par votre Django template.
Si vous voulez générer du HTML côté client, je vous recommande de regarder du côté client tempalte bibliothèques (par exemple. JQuery Templates - utiliser ceux avec le {% verbatim %} templatetag).
Si vous souhaitez utiliser des variables à l'intérieur de votre rendu javascript j'ai (c'est mon opnion), pense que c'est une mauvaise idée. Mais si tout ce que vous voulez, c'est de générer l'URL de votre point de vue, les médias et les fichiers statiques, je ne beaucoup de.
Prendre un coup d'oeil à cette github: jscssmin