2017-02-13 23 views
1

我想在調用static_url()時關閉?v = version信息。Tornado關閉static_url()的include_version

我有以下staticFileHandler類,我試圖重寫make_static_url()類方法:

class BaseHandlerStatic(tornado.web.StaticFileHandler): 
    @classmethod 
    def make_static_url(cls, settings, path, include_version=False): 
     super().make_static_url(settings, path, include_version) 

不幸的是這樣做會導致我的程序在500錯誤與崩潰:

"/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/tornado-4.5.dev1-py3.5-macosx-10.6-intel.egg/tornado/web.py", line 1342, in static_url 
     return base + get_url(self.settings, path, **kwargs) 
    TypeError: Can't convert 'NoneType' object to str implicitly 
[E 170213 16:23:32 web:1977] 500 GET/(127.0.0.1) 14.66ms 

可有人請告訴我我做錯了什麼,以及如何將include_version設置爲False?

感謝

回答

2

你需要一個return聲明:

class BaseHandlerStatic(tornado.web.StaticFileHandler): 
    @classmethod 
    def make_static_url(cls, settings, path, include_version=False): 
     return super().make_static_url(settings, path, include_version) 

否則你make_static_url隱含返回None,而base + get_url(...)表達拋出一個異常,試圖鏈狀baseNone

+0

opps是的,當然......謝謝傑西! –