2010-02-12 3 views
3

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

Допустим, сайт имя - «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 были удалены до того, как они перейдут вживую.

+0

Что вы видите, когда идете управлять сайтами в интерфейсе администратора Django? –

+0

@dominic, я просто вижу example.com/. –

ответ

6

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

+0

Ага - это, скорее всего, преступник. Спасибо! –

+0

Приятно, я тоже запомню, что может случиться :-) – gruszczy

+0

+! Помог мне :-) – Chris

1

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

+0

Вы совершенно правы, я отредактировал свой вопрос для ясности. Спасибо за ваш ответ. –

+0

Я искренне не знаю, что происходит. Мне нужно взглянуть на код. – gruszczy

+0

Кстати, почему вы импортируете импорт mysite.myapp.views в urls.py? Вам не обязательно это делать. – gruszczy