Да, конфигурации static_dir
и static_file
работают одинаково, их разделы в справочных документах app.yaml для 2.7 и 3.7 идентичны, за исключением ссылокдля 2.7-специфичной опции application_readable
.
Поскольку обслуживание статического контента в GAE идентично (статический контент загружается и подается отдельно от кода приложения - эквивалентно, если хотите, подаче из CDN) на самом деле не имеет значения, используете ли вы среду выполнения 2.7 или версию 3.7 - вы на самом деле не выполняете никакого кода на Python, верно?
Так что одним из вариантов было бы просто использовать 2,7 вместо этого (добавив минимальный каркас приложения для поддержания времени выполнения, скажем, просто вернув 404 или перенаправив на одну из статических страниц - вы можете получить его с Quickstart ).Затем вы можете продолжить использовать сервер разработки 2.7 для локального выполнения.
Другой вариант - использовать 2.7 (как в варианте 1) только для локальной разработки, но переключиться обратно на 3.7 для развертывания (т.е. обновить app.yaml
, удалите скелетный код приложения или обновите его до 3.7).Немного более утомительно и хрупко, но это можно сделать.
3-й вариант - попробовать обновленный сервер разработки, который имеет ограниченную поддержку 3.7, см. Python 3.7 Параметры локального сервера разработки для новыхобработчик приложений app .Предоставление статического контента может быть включено в эту ограниченную поддержку.Вы должны будете соответствовать его конкретным требованиям.Вам также понадобится 3.7-совместимое скелетное приложение, вы можете получить его из 3.7 Quickstart .
Наконец, вы также можете использовать какой-то другой инструмент локально во время разработки, если у вас есть(тот же совет, что и для локального запуска реального приложения ).Это может быть просто ваш браузер для статического контента :) Опять же, цель состоит в том, чтобы просто разработать статический контент, GAE будет обслуживать его таким же образом.В этом случае вам не понадобится скелетное приложение.
Примечание: я видел это в стандартном справочнике env app.yaml Node.js , не уверен, применимо ли это к python 3.7Также имейте в виду:
Чтобы использовать статические обработчики, по крайней мере один из ваших обработчиков должен содержать строку script: auto для успешного развертывания.