Wie bringt man einen Link / eine URL auf die Homepage der Website in Django?
-
03-07-2019 - |
Frage
In Django -Vorlagen gibt es im Kontext eine Variable (z. B. {{ BASE\_URL }}
, {{ ROOT\_URL }}
, oder {{ MEDIA\_URL }}
Das kann man verwenden, um mit dem zu verlinken home
URL eines Projekts?
IE, wenn Django in der Wurzel eines Projekts ausgeführt wird, die Variable (nennen wir es R) {{ R }}
in einer Vorlage wäre sein /
. Wenn die Wurzel-URL ein Unterordner ist http://host/X/
Die Variable {{ R }}
wäre /X/
(oder http://host/X/
).
Es scheint schmerzhaft einfach, aber ich kann keine Antwort finden. :) Vielen Dank!
Lösung
Sie können der URL -Konfiguration, die Sie verwenden, um die Startseite mit einem Namen zu verarbeiten und diese zu verwenden:
URLS.PY:
from django.conf.urls.defaults import *
urlpatterns = patterns('myproject.views',
url(r'^$', 'index', name='index'),
)
Vorlagen:
<a href="{% url index %}">...
AKTUALISIEREN: Neuere Versionen von Django erfordern Anführungszeichen zum Namen der Ansicht:
<a href="{% url 'index' %}">...
Dieser Hinweis im Django -Buch enthält einige Tipps zum Bereitstellen Ihrer Anwendungen in einem Unterverzeichnis:
Andere Tipps
Ich benutze immer so etwas wie <a href="/">
(Natürlich ist Ihr Zuhause an der Wurzel). Ich erinnere mich, dass ich mich einmal einmal so angesehen habe und konnte keine Django -Variable für diesen Weg finden. jedenfalls, /
Schien sowieso ziemlich einfach.
Gehen Sie in Ihrem Administrator zu "Websites" und setzen Sie die Domäne.
Passieren context_instance=RequestContext(request)
zu den fraglichen Vorlagen.
Jetzt benutzen {{ SITE_URL }}
In einem dieser Vorlagen und golden.
Kapitel 10 des Django -Buches hat mehr Informationen als Sie das Regieren dieses Kontextprozessorbits benötigen.
(r'^$', 'django.views.generic.simple.redirect_to', {'url': '/home/'}),
funktioniert gut :)