我在我的django項目中有幾個應用程序。我想在所有應用程序中重新使用一些功能。我創建了一個新的應用程序,併爲其添加了一個自定義的functions.py。嘗試以下操作:如何在django項目中的應用程序之間正確共享代碼
from myNewApp import *
from myNewApp import functions
我得到NameError:全局名稱XXX未定義
我是不是忽略一些重要的事情?
你會如何推薦我解決跨多個應用程序重複使用代碼的問題?
感謝,
我在我的django項目中有幾個應用程序。我想在所有應用程序中重新使用一些功能。我創建了一個新的應用程序,併爲其添加了一個自定義的functions.py。嘗試以下操作:如何在django項目中的應用程序之間正確共享代碼
from myNewApp import *
from myNewApp import functions
我得到NameError:全局名稱XXX未定義
我是不是忽略一些重要的事情?
你會如何推薦我解決跨多個應用程序重複使用代碼的問題?
感謝,
試想一下,你有一個名爲公共您存儲所有要共享代碼項目。然後,您想在名爲foo的項目中使用公用代碼。試想一下,你有如下目錄:
/home/shared/commons.py
/home/tim/projects/foo.py
的commons.py有這樣的內容:
def say_hello():
return "Hello World!"
如果你希望能夠導入模塊公共在文件測試.py放入本文件:
import sys
sys.path.append("/home/shared/")
import commons
print commons.say_hello()
A nd它會打印出「Hello world!」。
你幾乎肯定不應該在Django項目中做任何sys.path.append。更好的選擇是創建一個「通用」應用程序,您可以使用標準的Django方式從所有其他應用程序導入該應用程序。 – Dan
確保應用程序上面的目錄是在你的PYTHONPATH
「但是,以下都不起作用」?你遇到了什麼錯誤?請對你所看到的非常具體,因爲我們無法猜測。 –