以下是我最近发布的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程序员相同的模板。
任何帮助都将不胜感激。
艾伦
答案 0 :(得分:1)
但没有其他staticdir声明 因为CP应该寻找 .. \ css \ commoncss.css相对于 静态根文件夹(我是对的吗?)
您无法通过网址进入物理文件目录(静态目录),也不想进入。
Cherrypy正在寻找与URL层次结构中的HTML文件相关的css文件。如果您的HTML文件是root用户,那么这将无效。如果它在,例如:/stuff/blarg.html
,那么它将转到根目录并查找css文件夹。
我认为提供绝对路径更容易,因为规定css目录位于已知位置是合理的:“/css/commoncss.css
”