我有我的模板表看起來像這樣:是否有可能使用javascript更新jinja2模板變量?
{% if table %}
{% for row in table %}
<tr>{{ row }}</tr>
{% endfor %}
{% endif %}
最初「表」設置爲null,所以沒有任何顯示。
我有一個JavaScript客戶端,在某些時候,從服務器接收一些數據。這些數據需要顯示給用戶。 我基本上想要更新客戶端收到的數據表。
這可能嗎?
我有我的模板表看起來像這樣:是否有可能使用javascript更新jinja2模板變量?
{% if table %}
{% for row in table %}
<tr>{{ row }}</tr>
{% endfor %}
{% endif %}
最初「表」設置爲null,所以沒有任何顯示。
我有一個JavaScript客戶端,在某些時候,從服務器接收一些數據。這些數據需要顯示給用戶。 我基本上想要更新客戶端收到的數據表。
這可能嗎?
一個更通用的解決這個問題正在彙編(某些)您神社模板的JavaScript,這樣就可以在客戶端使用它們。
我寫了一些代碼來做到這一點,你可能可以使用:
我懷疑你是否可以實現它。但還有另外一種方法。將表格部分保存在一個單獨的HTML /模板中,該模板在渲染時可以包含在主HTML文件中。
現在,當你收到客戶端的數據。更改數據格式,而不是返回數據,只需在表格模板呈現時返回表格模板,並使用JavaScript代替現有表格與您在客戶端收到的新表格。
主HTML文件:
<div>
{% include 'table_template.html' %}
</div>
table_template.html
{% if table %} {% for row in table %}
<tr>{{ row }}</tr>
{% endfor %} {% endif %}
步驟1:最初,只是返回主HTML文件,因爲它是。
第2步:當客戶端收到數據後,請確保您返回呈現table_template.html
。
步驟3:一旦您收到渲染的數據,請用新的數據替換現有的數據表。 爲如:
$.post("/api-url", function(result) {
if (result) {
//here you replace the existing null table with the new rendered table
$("table").html(result);
}
});