Имя проекта автоматически вставляется в URL при использовании тега URL шаблона django - PullRequest
2 голосов
/ 03 февраля 2010

Я применяю шаблонный тег 'url' ко всем ссылкам в моем текущем проекте Django.

Мои URL-адреса названы так ...

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 24 апреля 2010

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

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 голосов
/ 03 февраля 2010

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

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

...