URL 处理程序无法在 Google 应用引擎和 Flask 应用程序中运行

URL Handler not working in Goole app engine and flask Application

我是来问一个愚蠢的问题的,不幸的是我想不通。

我有一个使用 Flask Web 框架开发的 Google App Engine 项目。

我的项目结构是这样的(大写是目录,小写是文件):

> -PROJECT DIR
>     -APP
>         -API
>         -HANDLERS
>             home.py
>         -TEMPLATES
>             home.html
          - flask_app.py
>     app.yaml
>     appengine.config.pu

在 home.py 我只是渲染 /TEMPLATES/home.html

from flask import render_template
from app.flask_app import app

@app.route('/')
def home():
    return render_template('home.html')

这是 app.yaml 个文件的结构:

 runtime: python27
 api_version: 1
 threadsafe: true

 handlers:
 - url: /.*
 script: app.flask_app.app

当我开始调试并尝试访问位于 http://127.0.0.1:8080/ 的本地主机而不是呈现模板时,在我看来出现以下错误 Not Found The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

app.yaml 文件有问题吗?我认为这都是正确的,甚至 url.

编辑 flask_app.py

import appengine_config
import logging

from app import app_secret_key
from flask import Flask
from flask_wtf.csrf import CSRFProtect



app = Flask(__name__)
app.config.from_object(__name__)
CSRF_PROTECT = CSRFProtect(app)


if appengine_config.GAE_DEV:
    logging.warning('Using a dummy secret key')
    app.secret_key = 'my_dummy_secret_key'
    app.debug = True
else:
    app.secret_key = app_secret_key.secret_key

您在 flask_app.py

末尾忘记了 import HANDLERS.home

这在您的应用程序中是必需的,Flask 需要知道哪些文件注册了视图或路由。