我正在使用webfaction作为webhost。我正在尝试为我的cherrypy应用程序提供一个css文件,但有些东西不起作用。我在
中有我的python应用程序home/webapps/spotipy
和
中的css文件home/webapps/spotipy/css
在我的python代码的顶部,我有
#!/usr/local/bin/python3.2
import cherrypy
class Root(object):
@cherrypy.expose
def index(self):
return '''<html>
<head>
<title>Spoti.py</title>
<link rel="stylesheet" href="css/my_css.css" type="text/css" />
</head>
<p> hi </p>
<body>
<p> hi joey </p>
%s
</body></html>''' %text
这是在底部
cherrypy.quickstart(Root(),config={
'/css':
{ 'tools.staticdir.on':True,
'tools.staticdir.dir':"home/webapps/spotipy/css"
},
'/my_css.css':
{ 'tools.staticfile.on':True,
'tools.staticfile.filename':"home/webapps/spotipy/css/my_css.css"
}
})
答案 0 :(得分:1)
尝试使用绝对路径而不是相对路径。我想你通过尝试访问home / webapps / spotipy / css搞砸了。在配置中尝试这个:
cherrypy.quickstart(Root(),config={
'/css':
{ 'tools.staticdir.on':True,
'tools.staticdir.dir': "/home/webapps/spotipy/css"
},
'/joey_css.css':
{ 'tools.staticfile.on':True,
'tools.staticfile.filename': "/home/webapps/spotipy/css/my_css.css"
}
})
,这在html中:
<link rel="stylesheet" href="/css/my_css.css" type="text/css" />
答案 1 :(得分:1)
除了零323答案之外,这是一个完整的工作示例。更改shebang并在/ home / webapps / spotipy目录中运行它。 如果它不起作用,可能会出现浏览器缓存问题,因此请使用Ctrl + F5刷新页面。 您可以通过按Ctrl + U查看页面源来检查css文件是否正确加载,然后单击以查看指向css链接。如果一切正常并且您的css文件仍然不适用于您的页面,则可能是css问题。
#!/usr/bin/python
import os
import cherrypy
class Root(object):
@cherrypy.expose
def index(self):
text="dummy text"
return '''<html>
<head>
<title>Spoti.py</title>
<link rel="stylesheet" href="/css/my_css.css" type="text/css" />
<link rel="stylesheet" href="/joey_css.css" type="text/css" />
</head>
<p> hi </p>
<body>
<p> hi joey </p>
%s
</body></html>''' %text
conf={"/css": {"tools.staticdir.on": True,
"tools.staticdir.dir": os.path.abspath("./css"),},
'/joey_css.css':
{ 'tools.staticfile.on':True,
'tools.staticfile.filename': os.path.abspath("./css/my_css.css"),
}
}
cherrypy.quickstart(Root(),config=conf)