Мой Джанго сайт обслуживается на следующее в конфигурации сервера Apache:{% URL администратора: индекс%} генерации неправильных адресов
WSGIScriptAlias /studio /django/studio/bin/django.wsgi
Мой urls.py выглядит следующим образом:
urlpatterns += patterns(
'django.contrib',
(r'^admin/', include(admin.site.urls)),
(r'^accounts/login/$', 'auth.views.login'),
(r'^accounts/logout/$', 'auth.views.logout'),
)
.. .and yet:
[<a href="{% url admin:index %}">admin</a>]
... генерирует ссылку на/admin, а не/studio/admin. Необычно, URL-адреса в самом интерфейсе администратора прекрасны.
Я использую:
Python 2.5.2-3
Django 1.1.1
mod_wsgi 2.5-1~lenny1
apache2 2.2.9-10+lenny6
Может кто-нибудь сказать мне, что я делаю неправильно?
веселит,
Chris
Django знает о '/ studio', он передается в переменной SCRIPT_NAME WSGI. Если Django по-прежнему не соблюдает это автоматически, когда требуется, Django, возможно, сломается. Эти проблемы с Django должны были быть исправлены в 1.0 кандидатах на выпуск. Я бы предложил, чтобы этот вопрос был рассмотрен в списке рассылки пользователей Django. –
kibitzer: Извините, но, конечно, в контексте Django 1.1, ваш ответ просто неверен. Нет base_url kludgery не требуется, следующий обходной путь работает в то же время: Чуть выше WSGIScriptAlias я добавил: RewriteRule ^/newstudio $/newstudio/[R] Я отправлю ответ здесь, когда я получил в нижней части проблемы ... –
Неплохо, что это работает.Да, это не идеально, но ваш RewriteRule не имеет ничего общего с решением вашей проблемы. – kibitzer