Я использовал Cloud Shell и принял ваш код как есть. Ваш код работает для меня.
Создано:
PROJECT=[[YOUR-PROJECT]]
REGION=[[YOUR-REGION]] # us-west2
gcloud app create --project=${PROJECT} --region=${REGION}
С:
app.yaml
:
runtime: python37
entrypoint: gunicorn -b :$PORT main:app
NB entrypoint
является необязательным, но я предпочитаю быть явным
requirements.txt
:
Flask==1.1.2
gunicorn==20.0.4
google-cloud-datastore==1.12.0
и использовал образец шаблона:
templates/index.html
:
<!doctype html>
<html>
<head>
<title>Test</title>
</head>
<body>
<h2>Visits:</h2>
{% for time in times %}
<p>{{ time }}</p>
{% endfor %}
</body>
</html>
И:
gcloud app deploy app.yaml --project=${PROJECT}
Затем просмотр конечной точки приложения:
Visits:
<Entity('visit', 5079418695319552) {'timestamp': datetime.datetime(2020, 4, 12, 20, 20, 29, 417656, tzinfo=<UTC>)}>
<Entity('visit', 5702893864747008) {'timestamp': datetime.datetime(2020, 4, 12, 20, 16, 28, 305081, tzinfo=<UTC>)}>
<Entity('visit', 5636645067948032) {'timestamp': datetime.datetime(2020, 4, 12, 20, 16, 26, 495333, tzinfo=<UTC>)}>
<Entity('visit', 5642368648740864) {'timestamp': datetime.datetime(2020, 4, 12, 20, 16, 22, 369022, tzinfo=<UTC>)}>
<Entity('visit', 5632499082330112) {'timestamp': datetime.datetime(2020, 4, 12, 20, 16, 20, 659993, tzinfo=<UTC>)}>