[英]In a Django template, how do I access attributes of a dict element whose key has a space?
我有一個dict
的,我的模板接收形式:
forms = {'Cholera': CholeraForm(), 'Foot And Mouth Disease': FootMouthDiseaseForm()}
計划是在select
表單元素中顯示每個鍵,然后根據所選值顯示正確的表單。 訪問鍵中有空格的dict
元素是一個非常簡單的問題,可以通過模板標簽解決:
@register.filter
def get(value, arg):
"""
Template tag used for getting the value out of a dict when the key has whitespace.
"""
return value[arg]
這使我可以獲得如下形式:
{{ forms|get:'Foot And Mouth Disease' }}
但是,我遇到的一個問題是我無法訪問特定的表單元素。 我希望能夠做到這一點:
{{ forms|get:'Foot And Mouth Disease'.element }}
或這個:
{{ (forms|get:'Foot And Mouth Disease').element }}
但是都沒有用。 我每個都收到TemplateSyntaxErrors。 如何訪問以這種方式訪問的表單的特定表單元素?
你可以用with
:
{{ with forms|get:'Foot And Mouth Disease' as item }}
{{ item.element }}
{{ endwith }}
但是更好的方法可能是將您的過濾器更改為工作分配標簽,該標簽將項目直接添加到上下文中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.