【发布时间】:2012-11-28 12:37:15
【问题描述】:
我正在使用 Python 2.7 在 Google App Engine 上运行 Flask 0.9 / Werkzeug 0.8.3,我非常希望 Werkzeug 调试器能够运行。尝试使用werkzeug_appengine_debugger 后,控制台出现以下异常:
File "/path/to/application/main.py", line 14, in <module>
@app.route('/')
AttributeError: 'DebuggedApplication' object has no attribute 'route'
它不仅可以是“路由”,还可以是 Flask 应用程序可以具有的任何属性。
我的文件树长这样,借自flask-appengine-template:
application
__init__.py
main.py
...
flask
flaskext
werkzeug
werkzeug_debugger_appengine
...
app.yaml
在 app.yaml 中,我的目标是 WSGI 应用:
application: application_name
version: 1
runtime: python27
api_version: 1
threadsafe: true
builtins:
- appstats: on
- admin_redirect: on
- deferred: on
- remote_api: on
libraries:
- name: jinja2
version: "2.6"
- name: markupsafe
version: "0.15"
inbound_services:
- warmup
handlers:
- url: .*
script: application.app
这是__init__.py的内容
from flask import Flask
from werkzeug_debugger_appengine import get_debugged_app
## Starting app
app = Flask('application_name')
## Configuration
import os
import secrets
app.debug = True
app.secret_key = secrets.SECRET_KEY
app.csrf_session_key = secrets.CSRF_SESSION_KEY
# Auto-set debug mode based on App Engine dev environ
if 'SERVER_SOFTWARE' in os.environ and os.environ['SERVER_SOFTWARE'].startswith('Dev'):
app.debug = True
## Extensions
if app.debug:
app = get_debugged_app(app)
## Everything else
import main
没有 werkzeug_appengine_debugger 也无法工作。下面的初始化
app = DebuggedApplication(app, True)
仍然抛出相同的异常。
在没有 GAE + Flask 教程或文章中我看到过这个问题。为什么会这样?
【问题讨论】:
标签: python google-app-engine flask werkzeug