Nach der Turbolinks 5-Dokumentation „Nach Redirects“ (https://github.com/turbolinks/turbolinks#following-redirects):Um Turbolinks 5 mit Django zu verwenden, wie kann ich die Einbindung des Headers Turbolinks-Location bei Verwendung von redirect() automatisieren?
Wenn Sie Standort besuchen
/one
und der Server leitet Sie auf Position/two
Sie die Adressleiste des Browsers erwarten, dass die umgeleitet URL anzuzeigen .Allerdings macht Turbolinks Anfragen
XMLHttpRequest
, die transparent Umleitungen folgt. Es gibt keine Möglichkeit für Turbolinks, mitzuteilen, ob eine Anfrage zu einer Weiterleitung ohne zusätzliche Kooperation vom Server geführt hat.
und die Lösung hierfür ist:
die
Turbolinks-Location
Header in Reaktion auf einen Besuch senden, die umgeleitet wurde, und Turbolinks wird der Browser des obersten Geschichte Eintrag mit dem Wert, den Sie bieten ersetzen.Die Turbolinks Rails-Engine führt diese Optimierung automatisch für Nicht-GET XHR-Anforderungen durch, die mit dem
redirect_to
-Hilfsprogramm umgeleitet werden.
Ich habe ein großes Interesse Turbolinks auf meinem Django (1,11) Projekt in Verwendung und ich frage mich, ob jemand mich in der richtigen Richtung, wie die bestehenden zu schaffen Punkt könnte ein neue Django umleiten() Funktion oder ändern Einer, der immer den Turbolinks-Location-Header enthält, der für Weiterleitungen benötigt wird, um wie erwartet zu funktionieren. Ich möchte definitiv nicht jedes Mal, wenn ich eine Weiterleitung mache, diesen Header manuell einstellen.
Es gibt einen ähnlichen Eintrag in dem ‚Umleiten Nach Ausfüllen eines Formulars Submission‘ Abschnitt (https://github.com/turbolinks/turbolinks#redirecting-after-a-form-submission) Ich würde schätzen auch jede Hilfe zu verstehen, wie zu implementieren:
Wenn Formulareinreichung führt zu einer Zustandsänderung auf dem Wenn der Server die zwischengespeicherten Seiten betrifft, sollten Sie den Cache von Turbolinks mit
Turbolinks.clearCache()
löschen.Die Turbolinks Rails-Engine führt diese Optimierung automatisch für non-GET XHR-Anforderungen durch, die mit dem
redirect_to
Helfer umleiten.
Ich habe es ein „Django Drop-in turbolinks Implementierung“ Paket auf Github ist aber von turbolinks-classic gegabelt ist und Sourcecode hat erwähnt keine der Turbolinks-Location-Header, so bin ich sicher, dass dies nicht der Fall ist was ich suche.