Es fiel mir schwer, Python (Flask) dazu zu bringen, mit NOW zu arbeiten. Das offizielle Dokument ist auch schwer zu sehen, deshalb werde ich es noch einmal zusammenfassen.
Wenn Sie nur Flask ausführen, funktioniert dies. Der wichtige Punkt sind die Builds von now.json.
index.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "hello"
requirements.txt
flask==1.0.2
now.json
{
"version": 2,
"builds": [{ "src": "index.py", "use": "@now/python" }]
}
Angenommen, Sie fügen index.py ein Routing hinzu, das / hello
behandelt.
index.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "hello"
@app.route("/hello")
def world():
return "world"
Wenn Sie in diesem Status bereitstellen und auf "/ hello" zugreifen, ist dies 404.
Um damit richtig umzugehen, bearbeiten Sie now.json und fügen Sie Routen hinzu. Jetzt wird jede Anfrage von wsgi root bearbeitet.
now.json
{
"version": 2,
"builds": [{ "src": "index.py", "use": "@now/python" }],
"routes": [{ "src": "/.*", "dest": "/" }]
}
Da Routen hinzugefügt wurden, wird jede nicht vorhandene Anfrage über Flask verarbeitet.
Anpassbar unter Benutzerdefinierte Fehlerseite in der offiziellen Dokumentation von Flask
index.py
from flask import Flask, jsonify
app = Flask(__name__)
@app.route("/")
def index():
return "hello"
@app.route("/hello")
def world():
return "world"
@app.errorhandler(404)
def resource_not_found(e):
return jsonify(error=str(e)), 404
Recommended Posts