2011-03-08 116 views
0

我們如何從Django模板標籤即傳遞變量,我想要做這樣的事情調用Python函數

{{emp.get_names('a')}} 

emp是我從我的觀點

傳遞對象
class Emp(models.Model): 
    name = models.CharField(max_length=255, unique=True) 
    address1 = models.CharField(max_length=255) 

    def get_names(self,var): 
     logging.debug(var)   
     names = {} 
+1

混合邏輯代碼與模板是一個糟糕的設計原則。你應該在視圖中這樣做。你爲什麼要在模板中使用它?任何原因? – tamizhgeek 2011-03-08 16:20:29

回答

4

你不能調用一個像這樣的參數的函數。也許編寫一個自定義模板標籤可以提供幫助,但是,爲什麼你需要在模板中完成,而不是在視圖中?

Custom template tags

0

看來,它不支持調用這樣的默認模板的功能。
也許你可以使用一些內置標籤,如{{'a'|get_names}}
你可以嘗試使用Jinja2模板,它可以讓你在其中編寫python代碼。

1

Django模板旨在防止人們做你正在做的事情。使用模板標籤。

+1

或者更好的是,使用視圖函數來執行此操作並在模板上下文中提供數據。 – 2011-03-08 15:51:07