[英]Replacing Django Template Variable with variable created via Javascript
我剛接觸Django和Javascript(不到3周!),並且有一個可能很愚蠢的問題,所以對您的幫助將不勝感激。
在我當前的代碼中,我有一個用以下代碼在HTML中呈現的表:
<table border="1" class="dataframe">
<thead>
<tr>
<th>{{ results.0.columns.1 }}</th>
<th>{{ results.0.columns.1 }} </th>
<th>{{ results.0.columns.2 }} </th>
<th>{{ results.0.columns.6 }} </th>
</tr>
</thead>
<tbody>
{% for row in results.0.values %}
<tr>
<td> {{row.0}} </td>
<td> {{row.1}} </td>
<td><img src="{{row.2}}" alt="img" height="150"></td>
<td> {{row.6}} </td>
</tr>
{% endfor %}
</tbody>
</table>
如您所見,我在很多地方都引用了{{someDjangoVariable}}
格式的django模板變量。
但是,我想用在Javascript中創建的變量替換這些變量。 我正在使用Javascript進行一些用戶輸入,最終改變了表的視圖。
我的Javascript設置如下:
<script>
function myFunction() {
var index = someNumber
var string = `results.${index}.columns.0`;
document.getElementById('demo').innerHTML = string;
}
</script>
用Javascript創建的string
變量將完全模仿Django模板變量。 例如, string = results.0.columns.1
。
但是,我不確定如何將此字符串變量傳遞到HTML本身。 從html的理想將是這樣的:
<thead>
<tr>
<th>{{ string1 }}</th>
<th>{{ string2 }} </th>
<th>{{ string3 }} </th>
<th>{{ string4 }} </th>
</tr>
</thead>
<tbody>
{% for row in string5 %}
<tr>
<td> {{row.0}} </td>
<td> {{row.1}} </td>
<td> {{row.2}} </td>
<td> {{row.6}} </td>
</tr>
{% endfor %}
</tbody>
</table>
Any guidance on how I can do this?
首先,沒有愚蠢的問題,只是關於我們不知道的事情的問題,因此可以提出。
說,
Django在服務器端“構建”頁面的HTML,到那時,您的js甚至沒有夢想被執行。 將內容(由Django較早生成的)下載到您的瀏覽器時,即會執行Javascript。
如您所見,在使用Django模板系統生成HTML時,您不能使用js變量。 在生成HTML時,這些變量不存在。
就像您之前所說的那樣,由於您是Django的新手,因此我將為您提供建議,並請您閱讀一些有關它的內容。
一旦您在運行javascript的瀏覽器中,便不再需要django模板的任何概念。 然后,您正在處理純html / javascript。
在這種情況下,三種最常見的方法是:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.