2010-10-28 30 views
1

基本上,我有一個冒號定界變量被傳入我的模板中,我想循環顯示每個單獨的元素。在django-templates中將一個字符串拆分成一個列表

我希望能夠提取每個這些名稱,然後在我的模板中對它們執行邏輯。

如果我可以使用Python,我會做這樣的事情(注:FILE_TYPE是變量我有我的模板):

file_type = "PDF:DOC:XLS" 
for tipe in file_type.split(":"): 
    if tipe == "PDF": 
     print "<img src='pdf'/>" 
    elif tipe == "DOC": 
     print "<img src='doc'/>" 
    elif tipe == "XLS": 
     print "<img src='xls'/>" 
    else: 
     print "<img src='unrecognized'/>" 

所以基本上,有沒有Django的模板分割功能或有任何人都會想出一個狡猾的方式來做到這一點?我一直無法找到任何東西。謝謝!

+1

你能註冊一個過濾器並在過濾器中調用split嗎?看到http://djangosnippets.org/snippets/211/也http://djangosnippets.org/snippets/889/ – KevinDTimm 2010-10-28 16:21:53

+0

謝謝凱文。這將是我的第一個自定義標籤,我遇到了一些困難,尤其是考慮到我已經投入了一個項目來維護。 – Chris 2010-10-28 18:38:10

回答

5

這是自定義模板標記或過濾器的工作。如果你發現自己在想「如果我可以在這裏使用Python」,那就是你需要自定義標籤/過濾器的標誌。您可以或多或少地使用上面給出的代碼,只需返回值而不是打印它。

+0

當然,偷我的雷霆;)(當然,我可以將我的評論移到答案,我只是拉你的鏈條) – KevinDTimm 2010-10-28 19:09:42

相關問題