Ich habe eine komplexe Kolbenapplikation mit mehreren Flask-Instanzen, die von Werkzeug Middleware verschickt werden. Und in einer solchen Situation habe ich zwei Fragen, die eigentlich nicht mit url_for zusammenhängen, sondern mit dem flash context management.url_for innerhalb verschiedener Flask-Instanzen
1) Wie erstelle ich URL von einer Anwendung zur anderen?
2) Hauptsächlich - wie erstelle ich URL für spezifische Anwendung ohne app_context überhaupt. Zum Beispiel muss ich eine URL beim Import oder Sellerie-Aufgabe erstellen. Ich habe versucht, Wrapper über alle Anwendungsinstanzen zu tun und neu definieren url_for wie
def url_for(self, *args, **kwargs):
with self.app.app_context():
return url_for(*args, **kwargs)
erhielt aber nur Fehler folgenden „war Anwendung nicht in der Lage einen URL-Adapter für die Anforderung unabhängiger URL Generation zu erstellen. Sie könnten in der Lage, dies zu beheben, indem Sie Festlegen der SERVER_NAME-Konfigurationsvariablen. " Irgendwelche Vorschläge?
Update: meine Lösung für die zweite Problem war richtig, nur SERVER_NAME hinzuzufügen nötig, aber erste ist noch offen
Haben Sie jemals eine Lösung gefunden? –
Ich habe den benutzerdefinierten URL-Builder für jede Anwendung beendet und verwende ihre Routen. Es gibt keinen anderen Weg, Flask bietet überhaupt keine Unterstützung für Multi-App-Architektur = ( – free2use
) Jede Chance, die Sie eine verallgemeinerte Version teilen könnten? –