1.概述
Tornado想设置静态资源访问资料主要有两种方式:
- 通过在Application对象中通过static_path参数来设置静态的目录,可以通过static_url_prefix设置前缀,默认是static
- 通过StaticFileHandler控制类来设置路径
2.测试两种方法代码展示
from tornado import web, ioloop
from tornado.web import RequestHandler
class IndexHandler(RequestHandler):
def get(self):
self.write('Hello Tornado')
if __name__ == '__main__':
# 方法1:通过再Application对象中通过static_path参数来设置静态的目录
'''
app = web.Application([('/',IndexHandler)],debug=True,
static_path = './static/', # 获取静态资源地址
# 默认访问静态资源的前缀static
static_url_prefix = '/img/' # 可选项:设置静态资源的前缀
)
'''
# 方法2:通过控制类来设置静态文件(这次是固定的路径地址,不友好)
'''
app = web.Application([
('/',IndexHandler),
('/img/(.*)',web.StaticFileHandler,{'path':'./static/'})
],
debug=True,)
'''
# 方法3:更新方法2,动态的获取静态资源地址(推荐使用!!!!)
import os
static_path = os.path.join(os.path.dirname(__file__),'static')
app = web.Application([
('/',IndexHandler),
('/static/(.*)',web.StaticFileHandler,{'path':static_path}) #http://127.0.0.1:8000/static/img/1.jpg
],
debug=True,)
app.listen(8000)
ioloop.IOLoop.current().start()