来自不同路径的CherryPy静态内容

我已经阅读了一些问答,例如loading-static-content-with-cherrypy


但是,我无法弄清楚如何通过不同的路径共享它。


我有以下课程:


class Root(Base):

    @cherrypy.expose

    def index(self):

        return self.html_head()+self.header()+"Root"+self.footer()+self.html_end()


    @cherrypy.expose

    def help(self):

        return self.html_head()+self.header()+"HELP"+self.footer()+self.html_end()

且配置文件为:


[global]

server.socket_host = "127.0.0.1"

server.socket_port = 8080

server.thread_pool = 10


[/]

tools.staticfile.root = "/path/to/app/"


[/css/style201306.css]

tools.staticfile.on = True

tools.staticfile.filename = "css/style201306.css"

从/ help访问CSS时,出现404错误。我必须为我要提供css文件的类中的每个方法添加[path]条目吗?还是我必须使用[global]标签,尽管也许我不想在其他应用程序中使用它?应用程序配置和路径配置条目之间有什么区别?直到知道我将其视为具有2条路径(“ /”和“ / help”)的一个应用程序


我通过像这样的配置:


# Configuration

import os.path

tutconf = os.path.join(os.path.dirname(__file__), 'myconf.conf')

cherrypy.quickstart(root, config=tutconf)

这两个网页都以相同的方式加载CSS(实际上是相同的代码):


css/style201306.css


收到一只叮咚
浏览 164回答 1
1回答

拉风的咖菲猫

问题在于您的html本身使用的是绝对URL,当内容相同时,没有理由使用相对url,而不是:<link&nbsp;rel="stylesheet"&nbsp;type="text/css"&nbsp;&nbsp;href="css/style201306.css"&nbsp;/>采用<link&nbsp;rel="stylesheet"&nbsp;type="text/css"&nbsp;&nbsp;href="/css/style201306.css"&nbsp;/>否则,浏览器将追加当前URL,例如,如果当前URL为/help,则它将尝试获取:/help/css/style201306.css
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python