簡體   English   中英

在Django的列標題中添加默認值

[英]Adding defaults to column headers in django

我有一個腳本,可以從其他網站導入表格中的數據。 表格的寬度介於5到15列之間,長度任意長。

在獲得原始數據之后,我希望有機會確保我對列標題的猜測是正確的。 所以我想在頂部有一個列,該列可以列出15件事。 這樣,我可以快速糾正自動代碼所做的任何錯誤決定。

因此,自動代碼生成2個數組,第一個為字符串:
可能的標題= [“一個”,“兩個”,“三個” ...]
索引到第二個數組的第二個
可能性_headers = [2,0,5 ...]
(列標題將是“三個”,然后是“一個”,然后是“六個”)

並在我的模板中像這樣使用它們:

{% for likely_head in likely_headers %}
<th>

  <select name="colHeader">
  {% for poss_head in possible_headers %}

    {% if forloop.counter0 == likely_headers.forloop.parentloop.counter0 %}
      <option value="Col:{{forloop.counter0}}" selected>{{poss_head}}</option>
    {% else %}
      <option value="Col:{{forloop.counter0}}">{{poss_head}}</option>
    {% endif %}

  {% endfor %}
</select>

</th>

{% endfor %}

考慮到可能的標題將是select輸入中的selected / default項目。 問題是:

likely_headers.forloop.parentloop.counter0

不評估。 forloop.parentloop.counter0可以正常工作,但顯然不能用作列表的索引。

我是django的新手,所以我可能做錯了所有事,請保持友好!

我不明白為什么當您根據文檔https://docs.djangoproject.com/zh-cn/dev/ref/templates/builtins/#使用應該使用forloop.parentloop.counter0時,為什么要使用likely_headers.forloop.parentloop.counter0 對於

您也可以嘗試通過用{% with %}標簽封裝計數器來解決問題

{% for likely_head in likely_headers %}
  {% with forloop.counter0 as parent_counter %}
    {% for poss_head in possible_headers %}
       {{ parent_counter }}
    {% endfor %}
  {% endwith %}
{% endfor %}

我還沒有確定它是否可以正常工作,但我認為應該可以。

另外,您可能正在嘗試解決模板中不應該解決的問題。 您可以嘗試使用標簽,在視圖中處理標頭(使用庫?),並僅返回應呈現的標頭列表。

我以為我擁有的整數列表實際上就是字符串[“ 1”,“ 5”,“ 3”]的列表,因此它們無法與for循環迭代器進行比較。 創建一個完整的整數列表可以解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM