Often while building javascript interfaces, there is a need to render DOM as an HTML template. Frappe Framework uses John Resig's Microtemplate script to render HTML templates in the Desk application. > Note 1: In Frappe we use the Jinja-like `{% raw %}{%{% endraw %}` tags to embed code rather than the standard `<%` > Note 2: Never use single quotes `'` inside the HTML template. To render a template, 1. Create a template `html` file in your app. e.g. `address_list.html` 1. Add it to `build.json` for your app (you can include it in `frappe.min.js` or your own javascript file). 1. To render it in your app, use `frappe.render(frappe.templates.address_list, {[context]})` #### Example Template: From `erpnext/public/js/templates/address_list.js` {% raw %}

{% for(var i=0, l=addr_list.length; i {%= __("Edit") %}

{%= addr_list[i].address_type %}

{% if(addr_list[i].is_primary_address) { %} {%= __("Primary") %}{% } %} {% if(addr_list[i].is_shipping_address) { %} {%= __("Shipping") %}{% } %}

{%= addr_list[i].display %}

{% } %} {% if(!addr_list.length) { %}

{%= __("No address added yet.") %}

{% } %}{% endraw %}