2015-05-19 17 views
1

我使用excessively_verbose.chain_of_long.nested_references從json填充xml。在django中,我是否可以在if標籤中使用'as'如此:{%if excessively_verbose.chain_of_long.nested_references as foo%}

有時,母公司層面是不存在的,並在努力降低我的模板的填充,我想用一點點這樣的:

{% if excessively_verbose.chain_of_long.nested_references as foo%} 

我已經試過以上和下面:

{% if excessively_verbose.chain_of_long.nested_references with excessively_verbose.chain_of_long.nested_references as foo%} 

但我得到unused with/as at end of is

這是可能的(最好不要重寫{% if %}標籤)?這看起來簡單,直接和有用(至少對我來說)!

我想這是Django的等效this,不看好

回答

2

這聽起來像你想要的是沿着線的東西更多:

{% with foo=excessively_verbose.chain_of_long.nested_references %} 
    {% if foo %} 
     {{ foo }} bar 
    {% endif %} 
{% endwith %} 
+0

是的,但是壓縮到如果標籤。我猜這不可能? – Pureferret

+1

我相當肯定這是你不能在Django模板語言中做的事情,或者事實上,甚至是Python本身。這個確切的場景實際上是'with'標籤背後的意圖。從Django的文檔中,'用一個更簡單的名字緩存一個複雜的變量。當訪問多次「昂貴」的方法(例如命中數據庫的方法)時,這很有用。' –

+0

這很有道理。與Python不同的是,你不需要額外的一行來關閉標籤,也不需要標籤。 – Pureferret

相關問題