[PYTHON] Stellen Sie Flask jetzt mit ZEIT bereit

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.

Lassen Sie Flask mindestens laufen

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" }]
}

Unterstützt mehrere Routen

Problem

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"

Es sieht so aus, als wäre es 404

Wenn Sie in diesem Status bereitstellen und auf "/ hello" zugreifen, ist dies 404.

image.png

Vermeiden Sie es, Routen zu now.json hinzuzufügen

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": "/" }]
}

Es scheint, dass die Anfrage normal behandelt wird

image.png

Der Kolben soll alle Pfade handhaben

Da Routen hinzugefügt wurden, wird jede nicht vorhandene Anfrage über Flask verarbeitet.

image.png

Passen Sie 404 Seiten an

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

Zustand

image.png

Recommended Posts

Stellen Sie Flask jetzt mit ZEIT bereit
Stellen Sie die Kolben-App mit mod_wsgi bereit (mithilfe von pipenv).
IP-Einschränkung mit Flask
Hallo Welt auf Flasche
Programmieren mit Python Flask
So stellen Sie eine mit Flask erstellte Web-App für Heroku bereit
Berühre Flask + laufe mit Heroku
Hallo Welt mit Flask + Hamlish
Testen Sie den Kolben mit einem Pytest
API mit Flask + uWSGI + Nginx
Stellen Sie Django serverlos mit Lambda bereit
Entwicklung von Webanwendungen mit Flask
Python-Kompilierung mit pyqt deploy
(Fehler) Stellen Sie eine mit Flask mit Heroku erstellte Web-App bereit
Anzeigen der Kolbenabdeckung mit pytest-cov
Webanwendung mit Python + Flask ② ③
Datei-Upload mit Flask + jQuery
Webanwendung mit Python + Flask ④
[LINE-Anmeldung] Überprüfen Sie den Status mit Flask
Mit Flask erstellte SNS Python-Grundlagen
[Memo] Links bei der Entwicklung mit Flask
Erstellen eines Flask-Servers mit Docker
Führen Sie die App mit Flask + Heroku aus
Behalten Sie den Flask API-Server für immer bei
Stellen Sie die Django-Anwendung mit Docker bereit
Basisauthentifizierung, Digest-Authentifizierung mit Flask
Erstellen Sie eine Flask-Umgebung mit Dockerfile + docker-compose.yml
Stellen Sie die Flask-App für Heroku bereit (bitter)
Führen Sie python3 Django1.9 mit mod_wsgi aus (deploy)
Stellen Sie die Flask-App auf Heroku bereit
Stellen Sie die Flask-App auf Heroku bereit
Post Bulletin Board Erstellung mit Flasche
Anwendungsentwicklung mit Docker + Python + Flask
Bild-Upload-Funktion mit Vue.js + Flask