Wie nennt man eine Methode aus einer anderen Blaupause in Flask?

Ich habe eine Anwendung mit mehreren blau bedruckten Modulen.

Ich möchte eine Methode (eine Route) anrufen, die normalerweise eine Ansicht zurückgibt oder eine Vorlage aus einer anderen Blaupause ablegt.

Wie kann das richtig gemacht werden?

Vielen Dank.

  • Testcode, der eine Flask-App benötigt oder einen Kontext anfordert
  • Wie bekomme ich den User Agent mit Flask?
  • Streaming von Daten mit Python und Flask
  • Flask cli kann den Anwendungssatz nicht mit FLASK_APP importieren
  • Verwenden von WTForms 'populate_obj () - Methode mit Flask Micro Framework
  • Quickstart Flask Anwendung fehlgeschlagen aus irgendeinem Grund
  • One Solution collect form web for “Wie nennt man eine Methode aus einer anderen Blaupause in Flask?”

    Ansichten sind nur Funktionen; Importieren Sie die Funktion und rufen Sie sie direkt an und übergeben Sie alle Routenparameter, die sie definiert haben können.

    Die Rolle des Blueprint ist es, es einfacher zu machen, eine Gruppe von Routen unter einem gemeinsamen Präfix zu registrieren, gruppieren ihre Vorlagen und statischen Ressourcen und behandeln anforderungsbezogene Ereignisse für gerade diese Gruppe (Anforderung gestartet, Anfrage abgeschlossen, etc.). Aber wie man einen Blick nennt, ändert sich nicht.

    Zum Beispiel, wenn Sie eine Route in der foo blueprint haben, in der foo.py Modul:

     @foo.route('/bar/<id>') def bar(id): return something_done_with_id(id) 

    Sie können diese Funktion importieren und anderweitig verwenden:

     import foo @baz.route('/spam/ham/eggs'): def baz(): return foo.bar(42) 

    Hier nimmt bar einen Parameter aus der URL namens id , also beim Aufruf der View-Funktion müssen wir einen Wert für diesen Parameter übergeben.

    Beachten Sie, dass irgendwelche blueprint before_request , after_request und context_processor Funktionen nicht ausgeführt werden (das passiert bei Routing-Zeit), noch sind Blueprint-spezifische Fehlerhandler wirksam.

    Python ist die beste Programmiersprache der Welt.