python - Encoding or other error with static files in tornado -


i need static files(html, scryptes, pictures, css) in tornado. standart file handler not useful, becuse request url must not contain static prefix. server used in mobile application project.

the code:

application = tornado.web.application([     (r"/(.*)", static), ])   class static(tornado.web.requesthandler): def get(self, url):     print 'static', url     try:         data = open(r'static/'+url,'rb').read()         print 'file found', url     except:         data = 'error. file not found'         print 'file not found', url     self.write(data) 

atempt picture failed. browser shows different characters. html pages shown, seems css load faled.

is thre way it?

python 2.7, windows 7 x64 (just test).

problem solved:

    (r"/(.*)", tornado.web.staticfilehandler, {"path": r"c:\python27\***\static"}), 

you use tornado's ability server static file:

application = tornado.web.application(     [(r"/(.*)", static)],     static_path="your path here" ) 

but implies calling url: www.domain.com/static/anyfile.txt

edit: if want have different base url, add param: static_url_prefix="/toto/" when creating application

then: www.domain.com/toto/anyfile.txt serve file


Comments