Ich habe Probleme zu verstehen, wie eine Kolben-App in mehrere Dateien aufgeteilt wird.
Ich erstelle einen Webdienst und möchte die APIs in verschiedene Dateien (AccountAPI.py, UploadAPI.py, ...) aufteilen, nur damit ich keine große Python-Datei habe.
Ich habe gelesen, dass Sie dies mit Blueprints tun können, bin mir aber nicht ganz sicher, ob die Route für mich die richtige ist.
Letztendlich möchte ich eine Hauptpython-Datei ausführen und andere Dateien einschließen, damit sie beim Ausführen als eine große Datei betrachtet werden.
Wenn ich beispielsweise Main.py und AccountAPI.py habe, möchte ich dies tun können:
Main.py:
from flask import Flask
import AccountAPI
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
AccountAPI.py:
@app.route("/account")
def accountList():
return "list of accounts"
Ich weiß, dass es mit diesem Beispiel offensichtlich nicht funktioniert, aber ist es möglich, so etwas zu tun?
Vielen Dank
quelle
accountList
eine Klasse in dieselbe Datei einzufügen?Mit
Blueprint
können Sie Ihre Routen imroutes
Verzeichnis hinzufügen .Struktur
__init__.py
index.py
users.py
app.py.
Wenn Sie beispielsweise eine neue Routendatei hinzufügen möchten
accounts.py
, müssen Sie nur die Dateiaccounts.py
imroutes
Verzeichnis erstellen , genau wieindex.py
undusers.py
, und sie dann in dieroutes.__init__.py
Datei importierenquelle
Wenn Sie Blaupausen verwenden und zu einer URL Ihrer Blaupause innerhalb einer von Ihnen verwendeten Vorlage weiterleiten möchten, müssen Sie die richtige url_for-Anweisung verwenden.
Wenn Sie in Ihrem Fall das URL-Konto Ihrer Blaupause eröffnen möchten, müssen Sie dies in Ihrer Vorlage wie folgt angeben :
und für die Haupt- App würde es so aussehen:
Andernfalls gibt die werkzeug Bibliothek einen Fehler aus.
quelle
Eine andere Möglichkeit, dies zu tun, kann das verzögerte Laden sein , bei dem Sie Ansichtsfunktionen bei Bedarf explizit anhängen.
quelle