Qu’est-ce que x-tmpl?

Était à la recherche de la réponse sur le net, mais n’a rien trouvé. Cette petite collation de code me frustre vraiment, car je ne peux pas le comprendre. (Cela fait partie du plugin appelé: jQuery File Upload)

 {% for (var i=0, file; file=o.files[i]; i++) { %}  {% if (file.error) { %}  {%=file.name%} {%=o.formatFileSize(file.size)%} {%=locale.fileupload.error%} {%=locale.fileupload.errors[file.error] || file.error%} {% } else { %} {% if (file.thumbnail_url) { %}  {% } %}  {%=file.name%}  {%=o.formatFileSize(file.size)%}  {% } %}      {% } %}  
  • Alors, quel type est text/x-tmpl ?
  • Quelles sont ces balises {% et %} ?
  • Quel parsingur exécute ce code?

… mais aimerait tout savoir à ce sujet.

x-tmpl n’a pas de véritable sens, il empêche simplement le navigateur d’interpréter le script en javascript.

Il est principalement utilisé avec les modèles jquery ou la liaison de modèles knockoutjs .

À un moment donné, un object de données javascript sera utilisé avec le modèle pour afficher du HTML. Les valeurs de l’object de données remplaceront celles marquées par {%} et similaires dans le modèle, avec certaines sections {%} reflétant le stream de code, telles que les boucles, etc.

Je ne suis pas sûr que la bibliothèque de templates utilise {%}, ce ne sont pas des templates jquery, jsrender ou knockout. Vous devrez vérifier quelles bibliothèques sont référencées dans l’exemple de code.

Alors, quel type est text / x-tmpl?

Un non-standard. On dirait un modèle cependant.

Quelles sont ces balises {% et%}?

Partie du langage de gabarit.

Quel parsingur exécute ce code?

Probablement une écriture en JavaScript et imscope dans un autre élément sur la même page.

Le code ci-dessus fait référence au projet Django Jquery File Upload trouvé ici https://github.com/sigurdga/django-jquery-file-upload

Les {%%} sont des balises de modèle Django. Pour plus d’informations, consultez https://docs.djangoproject.com/en/dev/ref/templates/

Ces tags seront analysés par le système de template de django