您好我很想将python与网络程序一起使用,我正在尝试创建一个使用CSS样式表的基本网站。我有三个文件:app.py,index.html和style.css。它们都在同一个目录中。当我运行app.py并转到localhost:8080时,它显示“Hello World!”,但它没有来自style.css文件的样式,我的终端显示“HTTP / 1.1 GET /style.css” - 404 Not Found 。但是,当我在不使用app.py文件的情况下打开chrome中的index.html文件时,它确实具有样式格式。对此有何帮助?提前致谢。我的代码如下:
app.py:
import web
urls = (
'/', 'Index'
)
app = web.application(urls, globals())
web.config.debug = True
class Index(object):
def __init__(self):
self.render = web.template.render('.')
def GET(self):
return self.render.index()
if __name__ == '__main__':
app.run()
的index.html:
<!DOCTYPE html>
<html>
<head>
<link type="text/css" rel="stylesheet" href="style.css" />
<title>Basic Web Project</title>
</head>
<body>
<p>Hello World!</p>
</body>
</html>
的style.css:
p {
color: green;
font-size: 22px;
}
答案 0 :(得分:0)
您是否尝试将style.css
添加到urls
,您的应用程序对/style.css
获取请求一无所知,这可能就是它返回404的原因。
答案 1 :(得分:0)
当您指定<link type="text/css" rel="stylesheet" href="style.css" />
时,您对网络浏览器说了以下内容:style.css与index.html处于同一级别
让我举个例子:
/app
index.html
style.css
如果您从浏览器打开index.html,请转到以下网址
file://some/directory/app/index.html
)它与file://some/directory/app/
相同,因为浏览器在显示网页时将始终搜索索引)
在此index.html
浏览器中找到您指定的<link>
时,它会在以下网址下搜索style.css
:file://some/directory/app/style.css
当然,它会找到该文件。
现在是有趣的部分。
当你打开localhost:8080
时,它会显示localhost:8080/index.html
,因为你的网络应用程序(你运行的python脚本)知道当有人去那个网址时要做什么(因为你在urls
变量,您创建了class
)
但是当在此页面上时,浏览器会找到他试图转到<link>
的{{1}}标记,而您的网络应用不知道如何处理,因为您没有在应用中指定它。
现在的解决方案:
您必须为localhost:8080/style.css
和/style.css
定义一个网址,以便为您呈现该网页。