Как установить статический файл в файле конфигурации cherrypy? - PullRequest
2 голосов
/ 10 ноября 2010

У меня есть веб-приложение на CherryPy.Я пытаюсь настроить CSS-файл для использования во всех приложениях, но я не могу.Это мой файл conf:

[global]
server.socket_host = "127.0.0.1"
server.socket_port = 8090
server.thread_pool = 10
server.logToScreen = 0

[/main.css]
tools.staticfile.on = True
tools.staticfile.filename = "E:\apyb\main.css"

Если вместо файла для файла установить конфигурацию, то все будет нормально:

conf = {
    '/main.css': {
    'tools.staticfile.on': True,
    'tools.staticfile.filename': os.path.join(os.path.dirname(__file__), 'main.css'),
    }
}

Как мне установить файл пути?

Я использую Cherrypy 3.1.2 поверх Windows 7.

1 Ответ

1 голос
/ 11 ноября 2010

Файлы конфигурации CherryPy используют синтаксис Python для значений. Так же, как в Python, когда вы вводите строку с обратной косой чертой, она может интерпретировать их как управляющие символы:

>>> "E:\apyb\main.css"
'E:\x07pyb\\main.css'
>>> print "E:\apyb\main.css"
E:pyb\main.css

Решение состоит в том, чтобы удвоить косые черты:

>>> "E:\\apyb\\main.css"
'E:\\apyb\\main.css'
>>> print "E:\\apyb\\main.css"
E:\apyb\main.css

Сделайте то же самое в вашем конфигурационном файле:

[/main.css]
tools.staticfile.on = True
tools.staticfile.filename = "E:\\apyb\\main.css"
...