2010-10-26 86 views
1

我有一個django應用程序xxx,它做了很多事情。django導入視圖函數

我也有一個分離應用程序yyy。哪個想要調用xxx的某個函數。

有沒有辦法讓我導入函數?

例如,在YYY我能說

from toplevel.xxx import doit

或什麼是最好的方法,我不想重複的代碼。

回答

4

當然,你可以做它。

有了正確的導入和參數,就可以做到。

#app: app1 
#someview.py 

def a_view(request, someparam): 
    #some code here 


#app: app2 
#otherview.py 

from app1.someview import a_view 

def another_view(request): 
param = 1 
a_view(request, param) 

作爲一個例子

UPDATE:要提到的是,你的函數a_view()沒有得到一個參數都沒有。所以你可以調用沒有參數的函數。我只想提一提,如果你的函數有參數,你必須像在應用程序中那樣通過它們。