2014-01-13 51 views
0

這是一個模板訪問字典值是從我views.py傳來的數據:Django範本 - 採用可變

gradebook_data = { 
    'G5A': [...], 
    'G5B': [...], 
    ... 
} 

sections = [ 
    ('G5A': '5-Einstein'), 
    ('G5B': '5-Bohr'), 
    ... 
] 

在我的模板,我想重複一個for循環像這裏面的部分和顯示成績簿數據。 ..

{% for code, section in sections %} 
    <td>{{ gradebook_data.code }}</td> 
{% endfor %} 

因爲在Django它試圖做一個字典查找了gradebook_data['code'],當我想要做的是讓gradebook_data['G5A']這是行不通的。

有沒有人知道解決方法或可以指出我的錯誤?我已經爲此花了一整天的時間。

這對於PHP的Twig模板庫非常容易。

回答

2

如果您使用的是Django模板系統,您可以註冊一個自定義過濾器,該過濾器已在SO上進行了多次記錄以達到此目的。例如,here

+0

我想過自己製作過濾器。不過,我希望有更好的方法或更容易,因爲這是一個非常常見的用例。 – dashmug

+0

同意,但如果你對在Django中工作感到舒服,那真的很容易,而且一旦你做完了,下次將會很容易... – richsilv

+0

@dashmug在視圖函數中你真的應該按摩數據更多的形式,你以後想要在模板中消耗 – Anentropic