2016-08-04 12 views
1

Ich versuche Menü in Vorlage erstellen zu schaffen, die zu einigen Unterseiten führen: nurWie richtigen Pfad in Django Vorlage

<a href="/">HOME</a> <a href="/about/">O NAS</a> <a href="/rules/">REGULAMIN</a> <a href="/faq/">FAQ</a> <a href="/docs/">DOKUMENTY</A> <a href="/contact/">KONTAKT</a> 

Und es funktioniert, wenn ich es in den Hauptordner setzen, so dass die URL ist http://example.org/about/ .

Wenn ich es in einige Unterordner setzen geht es falsch:

http://example.org/subfolder/about/ funktioniert, aber Links in Menü führt noch http://example.org/about/ das richtige Verhalten ist.

relativer Pfad funktioniert nicht, da es anstelle des letzten Teils der URL z. B .: http://example.org/subfolder/about/rules/ ersetzt.

Wenn ich würde wissen, welche URL es würde platziert werden, kann ich es in Vorlage fest, aber ich bin mir sicher, dass es an zwei Orten mit verschiedenen "Unterordner" funktioniert, und ich möchte es in jeder Umgebung arbeiten .

Ich versuche, eine Lösung zu finden, aber es führt mich zu TEMPLATE_CONTEXT_PROCESSORS, die für mich nicht funktioniert, und ich bin mir nicht sicher, ob es genau das ist, was ich versuche, also tauche ich nicht tief hinein.

Antwort

0

Die Lösung wurde Zugabe

from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP 

TEMPLATE_CONTEXT_PROCESSORS = TCP + (
    'django.core.context_processors.request', 
) 

in settings.py

Dies wurde hier gefunden: https://stackoverflow.com/a/9233283/354420

In Vorlage views.about oder name falls definiert verwenden können.

1

Name your URL's.

url(r'^about', views.about, name="about") 

dann die URL template tag verwenden Sie die entsprechende URL für jeden Namen zu generieren.

{% url 'about' %} 
+0

NoReverseMatch at/Reverse für 'about' mit Argumenten '()' und Schlüsselwortargumente '{}' nicht gefunden. 0 Muster versucht (en): [] –