用于CSS文件访问的CherryPy配置

时间:2010-06-04 00:33:17

标签: python css configuration cherrypy

以下是我最近发布的CherryPy和css路径问题的结果,这两个问题都已得到解答,但又出现了另一个问题。

我有一个html页面,我在浏览器中预览(通过编辑器/ IDE)并从我的应用程序文件夹(包含main.py和My.html文件)并行调用css文件夹中的css文件。为此,我在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”并声明/ css作为staticdir),但这很难看。或者,CSS文件夹可以是app文件夹的子文件夹,但我真的需要能够自由地将.css文件放在不同的路径中(如果可能的话)(对于多个应用程序可能是常见的。)。 / p>

我真的想解决这个问题,因为否则就意味着html设计师在不改变href指令的情况下不能使用与Python程序员相同的模板。

任何帮助都将不胜感激。

艾伦

1 个答案:

答案 0 :(得分:1)

  

但没有其他staticdir声明   因为CP应该寻找   .. \ css \ commoncss.css相对于   静态根文件夹(我是对的吗?)

您无法通过网址进入物理文件目录(静态目录),也不想进入。

Cherrypy正在寻找与URL层次结构中的HTML文件相关的css文件。如果您的HTML文件是root用户,那么这将无效。如果它在,例如:/stuff/blarg.html,那么它将转到根目录并查找css文件夹。

我认为提供绝对路径更容易,因为规定css目录位于已知位置是合理的:“/css/commoncss.css