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!

War es hilfreich?

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:

http://www.djangobook.com/en/1.0/chapter20/#cn43

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 :)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top