2010-02-03 1 views
2

Я применяю тег шаблона 'url' ко всем ссылкам в моем текущем проекте Django.Имя проекта, введенное автоматически в url при использовании шаблона URL-адреса django.

У меня есть мои URLs с именем, как так ...

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

Это позволяет мне получить доступ/вход в корне моего сайта. Я мой шаблонный тег определяется как так ...

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

Он отлично работает, за исключением того, что Django автоматически решает, что URL, как /myprojectname/логин, не /логин. Оба URL доступны. Зачем? Есть ли возможность удалить имя проекта? Это происходит для всех URL-адресов, а не только для этого.

+0

У меня та же проблема, как это. Вы когда-нибудь находили решение? – betamax

+0

Это была проблема с моей конфигурацией Apache. Ознакомьтесь с моей записью здесь: http://groups.google.com/group/django-users/browse_thread/thread/83c1002f48328aa3/6307881f6e53cfa3?lnk=gst&q=adambossy#6307881f6e53cfa3 – thebossman

ответ

3

Видимо, это была проблема с моей конфигурации apache2. Я в основном копировали директивы с сайта Джанго, с одним небольшим изменением:

http://docs.djangoproject.com/en/dev/howto/deployment/modpython/#basic-configuration

Я изменил так мой проект Django будет подан в корневом каталоге моего сайта.

Мне пришлось удалить '/ mysite' из опции django.root. Мой окончательный результат выглядит следующим образом, без значения после django.root:

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

Для записи, я бегу:

Джанго 1,0 Apache 2,2 mod_python 3.3.1 (я думаю ... :)) Ubuntu Hardy 8.04.4

Скопировано здесь: http://groups.google.com/group/django-users/msg/5e79ed1e694a3776

0

В вашем url conf django встречается с этим шаблоном url раньше, чем другой.

С разрешения URL делается один за другим, просто двигаться вокруг главного входа в систему, прежде чем включить в основной urls.py

+0

Существует только один шаблон URL. Второй, «/ myprojectname/login», создается * магически *. Я пытаюсь понять, почему происходит эта магия, и есть ли возможность ее изменить. – thebossman