Python webhelpers.html.tags с префиксом WSGI SCRIPT_NAME - PullRequest
0 голосов
/ 20 июня 2011

У меня есть веб-приложение pylons, которое генерирует ссылки на действия контроллера, используя routes.url_for, и ссылки на статические файлы (CSS, javascript, изображения и т. Д.), Используя функции, определенные в webhelpers.html.tags.Это прекрасно работает, когда мое веб-приложение размещено в корне сервера (т. Е. Веб-приложение запускается из '/').Однако, если я перемещу веб-приложение, которое будет размещено в другом месте, например, '/ foobar /', ссылки url_for будут работать отлично, но функции в webhelpers.html.tags по-прежнему генерируют ссылки, указывающие на '/ path / to/ resource 'вместо' /foobar/path/to/resource'.

Насколько я понимаю, WSGI определяет переменную среды с именем SCRIPT_NAME, которая содержит путь, ведущий к приложению (поэтому в этом / foobarпример).Я предполагаю, что url_for обращает внимание на эту переменную среды и соответственно изменяет сгенерированные URL-адреса.

Есть ли способ заставить модуль webhelpers сделать то же самое?

1 Ответ

1 голос
/ 20 июня 2011

Если я правильно читаю, похоже, что url_for правильно возвращает строку с нужным вам URL.Но, насколько я вижу, вы передаете строку URL-адреса различным веб-помощникам.

Вы делаете что-то подобное?

link_to('something', url(controller='path', action='to'))
...