Frage

Ich beantrage den 'url' Template-Tag für alle Links in meinem aktuellen Django-Projekt.

Ich habe meine Urls Namen wie so ...

url(r'^login/$', 'login', name='site_login'),

Dies ermöglicht es mir, den Zugang / login an der Wurzel meiner Website. Ich habe meinen Template-Tag wie so definiert ...

<a href="{% url site_login %}">

Es funktioniert gut, außer , dass Django löst automatisch diese URL als / myprojectname / login , nicht / login . Beide URLs zugänglich sind. Warum? Gibt es eine Möglichkeit, den Projektnamen zu entfernen? Dies geschieht für alle URL-Tags, nicht nur diese.

War es hilfreich?

Lösung

Offenbar war es ein Problem mit meiner apache2-Konfiguration. Ich im Grunde die Richtlinien der django Website kopiert, mit einer kleinen Änderung:

http://docs.djangoproject.com/ en / dev / Howto / deployment / Mod_python / # basic-Konfiguration

ich geändert, so mein Django-Projekt würde auf meiner Website Stammverzeichnis serviert werden.

Ich hatte entfernen '/ mysite' aus der django.root Option. Meine letzte Ausgabe wie folgt aussieht, ohne Wert nach django.root:

<Location "/"> 
    SetHandler python-program 
    PythonHandler django.core.handlers.modpython 
    SetEnv DJANGO_SETTINGS_MODULE mysite.settings 
    PythonOption django.root 
    PythonDebug On 
</Location> 

Für das Protokoll, ich bin mit:

Django 1.0 Apache 2.2 mod_python 3.3.1 (glaube ich ... :)) Ubuntu Hardy 8.04.4

Kopiert von hier: http://groups.google.com/group / django-users / msg / 5e79ed1e694a3776

Andere Tipps

In Ihrer URL conf django Begegnungen dieses URL-Muster früher als die andere.

Da url Auflösung von einem getan ist, sondern nur die Haupt-Login bewegen, bevor die sind innerhalb der Haupt urls.py

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