2017-02-13 1 views
1

static_url()が呼び出されたときに?v =バージョン情報をオフにしたいとします。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(...)式はNonebaseをCATENATEしようとしている例外をスローします。

+0

oppsはいもちろん...ありがとう! –

関連する問題