Python没有找到CSS文件

时间:2015-02-06 15:59:59

标签: python html css

您好我很想将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;
}

2 个答案:

答案 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.cssfile://some/directory/app/style.css 当然,它会找到该文件。

现在是有趣的部分。

当你打开localhost:8080时,它会显示localhost:8080/index.html,因为你的网络应用程序(你运行的python脚本)知道当有人去那个网址时要做什么(因为你在urls变量,您创建了class

但是当在此页面上时,浏览器会找到他试图转到<link>的{​​{1}}标记,而您的网络应用不知道如何处理,因为您没有在应用中指定它。

现在的解决方案: 您必须为localhost:8080/style.css/style.css定义一个网址,以便为您呈现该网页。