Hier ist eine einfache Flasche App mit einem Syntaxfehler (es sollte sys.version
, nicht sys.version()
Warum gibt mir Flask keinen interaktiven Debugger?
from flask import Flask, url_for, request, render_template
import sys
app = Flask(__name__)
app.config.from_object(__name__)
@app.route('/')
def index():
version = sys.version()
return "This is the index page. Python version info: {}".format(version)
if __name__ == '__main__':
app.run(debug=True)
Als ich es Zugang http://localhost:5000 vor Ort und versuchen, laufen, ich das schöne Werkzeug Debugger erhalten:
aber wenn ich es auf einem Remote-Server ausgeführt werden (Apache 2.4.17, mod_wsgi 4.4.21), erhalte ich nur eine generische 500-Fehlerseite:
ich verschiedene Dinge versucht haben, diese Arbeit zu machen:
- gesetzt
app.debug = True
direkt nachapp = Flask(__name__)
- basierend auf this link, ich versucht, indem diesen Code auch:
from werkzeug.debug import DebuggedApplication application = DebuggedApplication(app, True)
aber nichts scheint zu helfen.
Ich weiß, dass der Debugger nicht in gegabelten Umgebungen funktioniert, aber nach this link, der Standardmodus für mod_wsgi ist nicht gegabelt werden. Meine Apache-Konfiguration lautet:
WSGIDaemonProcess flasktest user=david group=devgrp threads=1 python-path=/apps/www/80/wsgi-scripts/FlaskTest:/apps/.virtualenvs/flasktest/lib/python3.4/site-packages
Warum kann ich nicht den hübschen Debugger bekommen?
EDIT: Hier ist die geänderte Datei mit meinen Ergänzungen (die nicht berufstätig sind)
from flask import Flask
import sys
app = Flask(__name__)
app.config.from_object(__name__)
app.debug = True
from werkzeug.debug import DebuggedApplication
application = DebuggedApplication(app, True)
@app.route('/')
def index():
version = sys.version()
return "This is the index page. Python version info: {}".format(version)
if __name__ == '__main__':
app.run(debug=True)