簡體   English   中英

在Django模板中,如何訪問鍵具有空格的dict元素的屬性?

[英]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.

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