Имя сайта в URL-адресах Django - PullRequest
3 голосов
/ 12 февраля 2010

У меня возникла проблема, когда при вызове тега шаблона URL в Django добавляется имя сайта (я не хочу, чтобы оно было там).

Допустим, имя сайта - «mysite».

Так, например:

<a href="{% url myapp.views.myview "myparam" %}">Link text</a>

производит:

<a href="/mysite/foo/bar">Link text</a>

когда я хочу, чтобы это произвело:

<a href="/foo/bar">Link text</a>

Мой urls.py настроен так:

from django.conf.urls.defaults import *
import mysite.myapp.views

urlpatterns = patterns('',
    (r'^/foo/bar/$', 'mysite.myapp.views.myview'),
)

Кто-нибудь может указать мне правильное направление?

Редактировать - когда сайт находился в разработке, он находился в подкаталоге тестового сервера с приложением в качестве подкаталога! Так что он сидел на http://www.mytestserver.com/mysite. Там нет кэширования на месте, и все ссылки на / mysite были удалены до запуска.

Ответы [ 2 ]

6 голосов
/ 12 февраля 2010

Проверьте вашу конфигурацию modpython, если она у вас есть. Может быть строка, которая выглядит как PythonOption django.root /mysite Удалите это.

1 голос
/ 12 февраля 2010

Вы уверены, что это отрендеренная версия? Документы говорят, что должен быть создан абсолютный URL, т.е. /mysite/foo/bar. Вы проверяете источник в браузере? Попробуйте распечатать результат render_to_string (или другую используемую вами функцию рендеринга) и проверьте, добавлен ли там example.com.

...