为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

收到一只叮咚 2021-03-30 09:39:57
我已经阅读了一些问答,例如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 = 8080server.thread_pool = 10[/]tools.staticfile.root = "/path/to/app/"[/css/style201306.css]tools.staticfile.on = Truetools.staticfile.filename = "css/style201306.css"从/ help访问CSS时,出现404错误。我必须为我要提供css文件的类中的每个方法添加[path]条目吗?还是我必须使用[global]标签,尽管也许我不想在其他应用程序中使用它?应用程序配置和路径配置条目之间有什么区别?直到知道我将其视为具有2条路径(“ /”和“ / help”)的一个应用程序我通过像这样的配置:# Configurationimport os.pathtutconf = os.path.join(os.path.dirname(__file__), 'myconf.conf')cherrypy.quickstart(root, config=tutconf)这两个网页都以相同的方式加载CSS(实际上是相同的代码):css/style201306.css
查看完整描述

1 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

问题在于您的html本身使用的是绝对URL,当内容相同时,没有理由使用相对url,而不是:

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

采用

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

否则,浏览器将追加当前URL,例如,如果当前URL为/help,则它将尝试获取:

/help/css/style201306.css


查看完整回答
反对 回复 2021-04-06
  • 1 回答
  • 0 关注
  • 163 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信