代码之家  ›  专栏  ›  技术社区  ›  jaloplo

如何在cherrypy配置文件上设置静态文件?

  •  2
  • jaloplo  · 技术社区  · 15 年前

    我在CherryPy上有一个web应用程序。我正在尝试配置一个css文件以在所有应用程序中使用,但我不能。这是我的配置文件:

    [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'),
        }
    }
    

    如何设置路径文件?

    1 回复  |  直到 15 年前
        1
  •  1
  •   fumanchu    15 年前

    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"
    
    推荐文章