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.

  • Python Flask - URL Encoded Leading Slashes verursacht 404 oder 405
  • ImportError beim Importieren von zwei Ebenen
  • Kann keinen Beispielcode ausführen, auf den in Flask docs verwiesen wird
  • Einen Flaschen-Server ausführen
  • Das Ausführen von Sellerie-Arbeiter in einem App-Kontext hebt immer noch "Arbeit außerhalb des App-Kontext" Fehler in Aufgabe
  • Text / Event-Stream als Download erkannt
  • Flasche wurde mit twistd bereitgestellt: Fehler beim Laden der Anwendung: 'KeinType' Objekt hat kein Attribut 'startswith'
  • Wie stelle ich Antwort-Header in Flask ein?
  • 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.