我剛開始使用谷歌應用程序引擎,並一直在尋找好的做法和代碼組織。我的大部分問題都來自於__init__.py
的混淆。如何使用__init__.py組織代碼?
我目前的測試結構看起來像
/website
main.py
/pages
__init__.py #1
blog.py
hello2.py
hello.py
/sub
__init__.py #2
base.py
我想使用main.py作爲簡單地指向/頁和/頁/分的一切文件。/pages中的大多數模塊共享幾乎所有相同的導入(例如導入urllib),是否有一種方法可以定義/ pages中的所有內容導入我想要的內容,而不是將其添加到每個單獨的模塊中?
目前__init__.py
#1我有
from sub.base import *
然而,我模塊blog.py說BaseHandler(在base.py函數)沒有定義。 我的最終目標是有類似...
main.py
from pages import *
#be able to call any function in /pages without having to do blog.func1() or hello.func2()
#rather just func1() and func2()
,並能夠分享共同的進口模塊/pages
在__init__.py
。以便他們共享例如urllib和base.py中的所有函數。感謝您花時間閱讀這篇文章,我期待您的洞察力。
導入'__init__'的項目不會自動在同一個包中的模塊中使用。您仍然需要在需要的地方明確導入'BaseHandler',比如在blog.py中。 –