【发布时间】:2018-11-03 10:50:54
【问题描述】:
我是来问一个愚蠢的问题的,不幸的是我无法弄清楚。
我有一个使用 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吗?在尝试 AppEngine 之前,您是否在本地尝试过? -
我还在本地尝试,但它不起作用
-
请更新您的问题并添加
flask_app.py内容,您是否看到 home.py 顶部的导入错误?你缺少一个空格,所以如果没有引发错误,原因是你没有从flask_app.py导入这个文件@ -
我在发布问题时严重复制了导入,但在我的代码中是正确的
-
Ok 尝试在
flask_app.py后面加上import HANDLERS.home,这个很重要。或者,如果这不起作用,请将您的视图/路线添加到flask_app.py而不是home.py中,仅用于您的测试
标签: python-2.7 google-app-engine flask flask-restful