Trimpath JavaScript Templates
JavaScriptã§ãDjangoã®ãã³ãã¬ã¼ãã使ããã, ã¨æãã®ã¯ç§ã ãã§ã¯ãªãããã,æ¢ã«ä½ã£ã人ããã.
Django Template Language in JavaScript - Ajaxian
ã§ãããã¯Dojoãã¬ã¼ã ã¯ã¼ã¯ã®ä¸é¨ãªã®ã§, ååã§ä½¿ããã¨ã¯é£ãããã . こんなまとめページããã£ã. ãã , 2å¹´åã®ãªã®ã§, ã¡ãã£ã¨æ å ±ã¯å¤ãã®ãããããªã.
ãªãã¨prototype.jsã«ãテンプレート機能ãããããã! ã¨æã£ã¦èª¿ã¹ã¦ã¿ãã,åãªãæååç½®ææ©è½ã§ããªã貧弱.
ããã¤ãè¦ã¦ã¿ãã, ここã«ãã, Trimpath JavaScript Templatesãè¯ãããã . ãããTrimpathã¨ãããã大ããªããã¸ã§ã¯ãã®ä¸é¨ãªã®ãå¾®å¦ã ã, ãã³ãã¬ã¼ãåä½ã§éç¨ã§ãã.
é¢ç½ãã®ã¯, ãã³ãã¬ã¼ããhidden ãªtextareaã«æ¸ãã¦ãããã¨ãæ¨å¥¨ããã¦ãããã¨.
ãªãã»ã©, ãããªãHTMLæ¬ä½ã«ãã³ãã¬ã¼ããåãè¾¼ãã§ãããã¨ãã§ãã¦, 便å©ã . ãããªæãã§ä½¿ããã¨ãã§ãã.
<html> <head> <script language="javascript" src="trimpath-template-1.0.38.js"></script> <script language="javascript" src="prototype.js"></script> <script language="javascript"> var data = { items : [1,2,3,4,5], } function render(){ var result = TrimPath.processDOMTemplate("template", data); $("toShow").innerHTML = result; } </script> </head> <body> <button onclick="render()">render</button> <textarea id="template" style="display:none;"> <ul> {for item in items} <li> ${item} </li> {/for} </ul> </textarea> <div id="toShow"> </div> </body> </html>
Trimpath JavaScript Templates ã¯, Djangoãã³ãã¬ã¼ããããå¼·åã§, ãã³ãã¬ã¼ãå ã«ä»»æã®å¼ãæ¸ããã¨ãã§ãã. ãããªé¢¨ã«æ¯è¼å¼ã®ä¸èº«ãæãã®ã¾ã¾.
{if items.length > 0} <ul> {for item in items} <li> ${item} </li> {/for} </ul> {/if}
Djangoã®ãã³ãã¬ã¼ãã§ã¯å¤æ°ã¨å¤æ°ããããã£ã®åç §ã¯ã§ãããã©, ä¾ãã°é¢æ°ã®å®è¡ãªããã¯ã§ããªã.
ããã ã¨, ãã³ãã¬ã¼ãã®ä¸ã§å¯ä½ç¨ã®ããå¼ãããããå®è¡ã§ãã¦ãã¾ã£ãããã¦, å®è¡ã®é åºããåæ°ãã, æ·±ãèãå§ããã¨é¢åãªåé¡ãããããããããã .æ©è½ãå¼·åãããã®ã§, ãã³ãã¬ã¼ã主å°ã§ãã¼ã¸ãæ¸ããã¨ãã§ãã¦ãã¾ããã. ãããªãã¨, ãã¼ã¸ã®ãã¸ãã¯ã¨è¡¨ç¤ºé¨åã®åé¢ã¨ãã観ç¹ããã¯, 好ã¾ãããªãã ãã.
Djangoãã³ãã¬ã¼ãã§ä»»æã®å¼ãæ¸ããªãã®ã¯, ããããåé¡ãããããããªã®ãã.åã«ãã¼ã¶ãé¢åã ã£ãã®ãããããªããã©. __get__()ãåå®ç¾©ãã¦ãã¾ãã°, å¯ä½ç¨ãæããããã¨ãã§ãã¦ãã¾ãããã ã.
ã¡ãªã¿ã«, Trimpath JavaScript Templatesã«ã¯ãã¯ãæ©è½ã¾ã§ããããã . 便å©ã§ã¯ããã ãããã©, ã¡ãã£ã¨ããéãã®ãããªæ°ãããªãã§ããªã.