2015-07-01 40 views
0

我創建了一個自定義標籤,它接受一個參數:過濾定製的Django標籤?

{% panel "most" %} 

我會用add的參數:

{% panel "most"|add:"_people" %} 

我預計參數將是「most_people」,而是它是「最」 |補充: 「_人」。看起來,過濾器不會在自定義標籤中調用。如何使他們工作?

回答

1

如果您使用simple_tag裝飾器編寫自定義標記,則應該可以對參數使用過濾器。

但是,如果您已經編寫了advanced template tag,那麼您需要做額外的工作才能使"most"|add:"_people"可以根據需要使用過濾器。

解決辦法之一,就是使用{% with %}標籤將過濾器的結果分配給變量。

{% with panel_name="most"|add:"_people" %} 
{% panel panel_name %} 
{% endwith %}