Est-il possible d'ajouter des balises de gabarit dans des fichiers javascript et css? Je l'utiliserais pour n'importe quoi de passer des urls aux liens d'URL de médias (chemins d'image, etc.) au javascript conditionnel basé sur des permissions d'utilisateur. Je viens de penser que peut-être je pourrais le servir comme s'il s'agissait d'un modèle mais avoir l'url comme fichier javascript. Est-ce la seule façon de faire quelque chose comme ça? Si c'est le cas, cela ne fonctionnerait probablement pas avec mon générateur de médias, donc je voudrais probablement une meilleure solution s'il y en avait une.Django - Balises de gabarit dans les fichiers javascript et css
Répondre
Votre idée est la bonne façon de procéder. Si vous voulez tirer parti des outils de template de Django, le plus simple est de servir le fichier JS en tant que template. Voir this question pour une situation comme la vôtre.
Vous pouvez servir tout type de contenu comme un modèle, il ne doit pas nécessairement être HTML. Toutefois, vous ne pourrez peut-être pas le diffuser avec le reste de votre contenu statique, en fonction de votre configuration. Une option, si vous ne voulez que remplacer des éléments tels que les URL de média, consiste à "compiler" ces modèles dans des fichiers statiques que vous pouvez servir. Cela ne fonctionnera pas pour tout ce qui est conditionnel basé sur les autorisations de l'utilisateur actuel, cependant. Vous devez écrire un script pour appeler le django.template.loader.render_to_string
et écrire le résultat dans un fichier chaque fois que vous déployez ou modifiez des URL de média, etc.
En ce qui concerne le contenu dynamique dans les fichiers JS, vous devez créer un modèle, comme les autres ont dit.
Mais vous pouvez joindre très facilement JS et les fichiers CSS pour les modèles de page spécifiques à l'aide django-sekizai. (Je l'utilise comme une partie de django-cms, mais il fonctionne aussi seul.)
Il vous permet, dans un modèle de page normal, de définir les ressources statiques requises du modèle dans un bloc. Il y a un bloc pour CSS et un pour JS. Ces blocs peuvent ensuite être imprimés dans votre base.html. Il gère également les doublons, vous n'avez donc pas à vous soucier d'ajouter les mêmes fichiers plusieurs fois. Voir le usage document.
Avec ce système, vous n'enverrez aucun fichier JS ou CSS restreint, car django n'exécutera que des modèles autorisés et le contenu ne sera jamais ajouté aux blocs JS et CSS.
Que diriez-vous de définir les variables JavaScript et CSS attributs de au sein votre modèle Django HTML, entre scénario et le style balises? Je sais que ça sonne comme un hack, mais ça me semble bien rangé, car cela vous permettra de contrôler vos variables dynamiques à partir d'un seul endroit.
- 1. Les balises jquery gabarit le modèle Django!
- 2. Syntaxe de deux points Django dans les balises de gabarit: uniquement dans les versions plus récentes?
- 3. Django: les balises de modèle et scripts Javascripts pour correspondre
- 4. javascript css image django
- 5. Compatible X-UA dans les fichiers JavaScript et CSS
- 6. Variable django dans le gabarit
- 7. Javascript et href dans les balises d'ancrage
- 8. Gabarit GAE Django et caractères suédois
- 9. Décorateurs sur les filtres Gabarit Django?
- 10. Javascript et fichiers CSS chargement problème
- 11. Problème avec le système de gabarit django
- 12. Charger une bibliothèque de balises pour un gabarit externe dans Django?
- 13. Django: Comment obtenir dynamiquement la valeur du champ à l'aide de balises de gabarit personnalisées?
- 14. Puis-je supprimer les nouvelles lignes après chaque balise de gabarit avec le moteur de gabarit de Django?
- 15. Django URL des médias dans les fichiers CSS
- 16. CSS Selectors en Javascript avec toutes les balises H
- 17. Fichiers javascript Django
- 18. Importation de JavaScript dans les balises JSP
- 19. Intégrer plusieurs fichiers de gabarit enfant dans un fichier principal
- 20. balises de modèle Django personnalisé et chargeurs modèle
- 21. Insérer dynamiquement des dépendances dans View (fichiers Javascript et CSS)
- 22. La mise en cache des fragments de gabarit ne semble pas fonctionner pour certaines balises de gabarit personnalisées
- 23. Les balises de modèle Django sont-elles mises en cache?
- 24. Django modèles de problème d'héritage CSS Javascript
- 25. en utilisant les fichiers javascript et css dans ASP.Net MVC View?
- 26. Problème de référencement des fichiers CSS et JavaScript relativement
- 27. fichiers de balises et de log4j
- 28. Ordre de chargement externe des fichiers CSS et JavaScript
- 29. modèle Django ne peut pas voir les fichiers CSS
- 30. Implémentation d'une balise de gabarit dans une application générique - django