0
我正在將python App Engine應用程序轉換爲使用本文中描述的模塊https://cloud.google.com/appengine/docs/python/modules/。我想在每個模塊中使用自定義處理程序作爲基類來添加一些常用功能。我是否需要在每個模塊中重複自定義處理程序代碼,或者是否有導入該類的方法?Google App Engine Python - 在不同模塊中使用相同的基本處理程序
例如,我想我的架構是這個樣子:
MyProject
├── common
│ ├── my_handler.py
├── module1
│ │ ├── module1.yaml
│ │ ├── main.py
├── module2
│ │ ├── module2.yaml
│ │ ├── main.py
/common/my_handler.py是不是一個應用程序引擎模塊的一部分,看起來像這樣:
import webapp2
class BaseHandler(webapp2.RequestHandler):
"""
BaseHandler for all requests
"""
pass
然後在/module1/main.py文件,我想確實有這樣的事情:
import webapp2
from common.my_handler import BaseHandler
class module1Handler(BaseHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write('Hello, this is module 1!')
app = webapp2.WSGIApplication(
[('/', module1Handler),
],
debug=True)
這不會工作,服務器拋出一個錯誤,因爲它找不到common.my_handler.py:
ImportError: No module named common.my_handler
該模塊似乎被沙箱。是否可以從/module1/main.py中導入/common/my_handler.py?