Tornado - 为什么没有StaticFileHandler的静态文件不起作用?

时间:2015-08-05 11:12:18

标签: python html css tornado

我是龙卷风的新手。我试图将CSS文件链接到html模板。我正在使用jinja2和Tornado。但是由于一些未知的原因,CSS文件没有加载。

编辑:我创建了自定义render_template功能,该功能正常运行。

目录结构:

app.py
static
    css
        custom.css
templates
    index.html

这是我的请求处理程序的类:

class Index(RequestHandler):
def get(self):
    path = os.path.join('static/css/', 'custom.css')
    return self.write(render_template('index.html', path = path))

这是我的index.html模板:

<!Doctype html>
<html>
  <head>
    <link rel="stylesheet" type="text/css" href="{{path}}"/>
  </head>
  <body>
    <div>
      <div class="header">
         asdasdasd
      </div>
    </div><!--wrapper-->
  </body>

</html>

但浏览器正在使用正确的网址返回css文件的404-NotFound错误,即http://localhost/static/css/custom.css

1 个答案:

答案 0 :(得分:0)

以下是有关如何在龙卷风中链接静态文件的指南: http://tornado.readthedocs.org/en/latest/guide/running.html#static-files-and-aggressive-file-caching

重要的是设置字典中的'static_path'设置:

settings = {
    "static_path": os.path.join(os.path.dirname(__file__), "static")
}

现在你应该可以使用它了。