2011-02-06 65 views
0

我想繼續重用我在許多django視圖上創建的一些函數,所以我不必一遍又一遍地在每個視圖上編寫它們。django - 調用函數形成一個文件到另一個

所以我創建了一個文件夾,裏面有一個__init__.py。在同一個文件夾中,我還創建了一個myfunctions.py文件,其中放置了我希望在我的django視圖中重用的函數。

這裏只是一個很簡單的測試功能,我把myfunctions.py,看看我是否能重複使用該函數的功能,特別是變量,我的看法:

def test_function(): 
    test_variable = 1 

我想只是調用test_function(),並在我創建的模板上傳遞test_variable值(在本例中爲1)。該視圖的模板已經有一個標籤{{ test_valiable }}

我的問題是,當我在我的視圖上調用test_function()時,我看不到test_variable值傳遞給與我的視圖關聯的模板中的{{ test_valiable }}標記。

我在我看來調用函數的方法是:

test_function() 

什麼我不這樣做對嗎?

+2

我伸出手指的使用它。我建議再次閱讀Python教程。 – 2011-02-06 07:04:03

回答

2

test_variable是一個局部變量,所以你不能在函數完成後看到它。 你應該重寫你的函數是:

def test_function(): 
    test_variable = 1 
    return test_variable 

而且在views.py

def View(request): 
    result = test_function() 
    return render_to_response('template', {'test_valiable' : result }) 
+0

在我的功能上,我忘了放回去,這就是爲什麼它沒有給我任何回報:)。只是學習形成我的錯誤。 – avatar 2011-02-06 15:30:56

1

你的問題不是很清楚。

我認爲你必須使用templatetags或contextprocessors作爲具體情況可能。

+0

我知道這有點混亂,我對此表示歉意。我會再嘗試。因此,我創建了一個文件,將我需要在我的許多django視圖中重用的所有功能放到代碼重複中。我所需要的只是一個簡單的方法,使我寫的這些功能在我的django視圖中顯示,而不必重新輸入它們內部的內容。通常我只需要向他們傳遞參數,但沒有別的。 – avatar 2011-02-06 15:03:36

相關問題