2010-06-04 4 views
0

Ниже перечислены проблемы с обработкой CherryPy и css, которые я недавно опубликовал, на которые были получены ответы, но возникла другая проблема.Конфигурация CherryPy для доступа к файлам CSS

У меня есть html-страница, которую я просматриваю в браузере (через редактор/IDE) и который вызывает файл css из папки css параллельно с моей папкой приложения (содержащей файл main.py и My.html). Для этого я использую относительные пути в заголовке html ...

<link rel="stylesheet" href="..\css\commoncss.css" type="text/css"> 

Все до сих пор. Однако, когда я бегу main.py, файл CSS не может быть найден, и страница выглядит беспорядок :-(Файл конфигурации CP включает в себя следующую строку ...

tools.staticdir.root = "my\app\folder" # contains Main.py and My.html 

но никаких других заявлений staticdir потому что CP должен искать .. \ css \ commoncss.css относительно статической корневой папки (я прав?)

Я мог бы иметь мою папку CSS как папку верхнего уровня (тогда я мог бы использовать href = "/ css/commoncss "и declare/css как staticdir), но это уродливо. В качестве альтернативы папка CSS может быть вложенной папкой в ​​папке приложения, но мне действительно нужна свобода, чтобы иметь возможность помещать файлы .css в другую путь, если это возможно (может быть общим для более чем одного приложения.)

Я действительно хотел бы взломать эту проблему, потому что иначе это означает, что разработчик html не может использовать тот же шаблон, что и программист Python, без изменения директивы href.

Любая помощь будет оценена по достоинству.

Алан

ответ

1

, но никакие другие заявления staticdir потому что CP должны искать .. \ CSS \ commoncss.css относительно статической корневой папке (я прав?)

Вы не можете связаться с вашим физическим файловым каталогом (статическим каталогом) по URL-адресам, а также не хотите.

Cherrypy ищет файл css относительно вашего HTML-файла в иерархии URL-адресов. Если ваш HTML-файл находится в корне, это не сработает. Если он находится, скажем: /stuff/blarg.html, тогда он будет спускаться к корню и искать папку css.

Я думаю, что проще просто дать абсолютный путь, потому что это разумно предусмотреть, что каталог CSS быть в известном месте: «/css/commoncss.css»

+0

Благодаря Райан - похоже, мне придется отказаться от удобства предварительный просмотр html непосредственно в браузере. Небольшая цена для оплаты, но все-таки неприятность. С уважением. –

Смежные вопросы