Я понимаю, что это может быть очень простой вопрос, но я разрабатываю приложение Python на Google App Engine Standard, используя некоторые базовые учебные пособия.
Многие из этих учебников являются MVC, и это здорово,но файлы кода не организованы.Для иллюстрации рассмотрим демо: https://github.com/GoogleCloudPlatform/appengine-search-python-java/tree/master/product_search_python. Автор включает в корневой каталог файл admin_handlers.py
, base_handler.py
и handlers.py
.Больше никаких обработчиков, и это быстро станет непривычно.
Решение, с которым я знаком, заключается в рефакторинге в более стандартную структуру проекта, такую как:
my_app
models
__init__.py
models_1.py
models_2.py
handlers
__init__.py
handlers_1.py
handlers_2.py
setup.py
, чтобы в любом файле моего приложения я мог вызвать, например, from my_app.models import model_1
,и затем получить доступ к моделям, определенно определенным в этом подпакете.
Однако я не вижу никакой документации о том, как стандарт App Engine обрабатывает упаковку приложений при развертывании (т. е. работает setup.py install
при развертывании приложения.)
Есть SO сообщения о том, как app-engine работает setup.py install
для упаковки внешних пакетов python, но нет материала о том, как app-engine работает самостоятельно, и я не вижу примеров в их руководствах, которые включают setup.py
файлы.
Является ли упаковка приложений во время развертывания чем-то, что поддерживает App-Engine?Или это так просто, что они не документировали?Должен ли я принять такую среду, как Django, если я хочу это сделать, или можно обойтись без нее?