Django, wie geben Sie eine Basis-url
So sollte es eine sehr einfache Möglichkeit, dies zu tun, aber leider weiß ich nicht scheinen, um in der Lage sein, um es zu finden.
Wie kann man einstellen, einen Href-link auf die 'base-url' + 'link', anstatt das hinzufügen der link zu der aktuellen Seite.
I. e. wenn ich mich bei www.example.com/content1/
Ich soll die Suchfunktion zu gehen www.example.com/search/
und nicht www.example.com/content1/search
Konnte ich nur angeben "www.example.com/search/" aber dann, wenn es die Seite ist, die lokal bereitgestellt werden und ich am Ende mit einem Haufen von links auf nicht existierende Seiten, oder Umgekehrt. Wie kann ich angeben, das Die Basis-hosting-URL mit Hilfe von DJango (je nachdem, welcher der server läuft, ob der hostname, den aktuellen ip-Adresse, localhost, usw.).
- stackoverflow.com/questions/2345708/...
- auch dies könnte helfen: github.com/lalzada/django-baseurl
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der beste Weg, dies zu tun ist die benennen Sie Ihre urls und verwenden Sie dann die url template tag. Beispiel unten:
Ersten Namen für Ihre Ansichten. Verwenden Sie so etwas wie:
In diesem Beispiel, Sie haben Ihre url für Ihren
example.com/search/
anzeigen. Es wird mit dem Namen 'suchen', können verwendet werdenurl
template-tags und mithilfe desreverse()
Funktion.Nächsten, in Ihrer Vorlage verwenden, die
url
tag mit Ihrer url-name:Sollten Sie nicht brauchen, um hinzuzufügen, 'base-url', um Ihre "href", es impliziert ist. Stellen Sie sicher, href vorangestellt ist, mit '/' zu setzen und zu absoluten Pfad an und keinen " /" für relativ.
ist das gleiche wie
und funktioniert egal welchem sub-Verzeichnis Sie befinden sich in
Wenn Sie auf die homepage und nutzen Sie den link:
wird es effektiv gleich:
aber das gleichen link auf der Seite verwendet http://www.mywebsite.com/sample wird gleich:
mit:
Wird immer gleichzusetzen, um im folgenden keine Rolle, wo auf der Website Sie genutzt werden:
Wenn Sie mit django erwägen Sie die Verwendung der url-Vorlage zu tag wie Alex vorgeschlagen:
https://docs.djangoproject.com/en/dev/ref/templates/builtins/#url
Machen den link zu
/search
.Jeder link, der beginnt mit
/
wird relativ zum domain-root (sagen wirhttp://example.com/
), während alle anderen relativen link ist relativ zur aktuellen URL.