2013-10-24 9 views
0
import tornado.ioloop 
import tornado.web 

class MainHandler(tornado.web.RequestHandler): 
    def get(self): 
     return "Hello, world" 

application = tornado.web.Application([ 
    (r"/", MainHandler), 
]) 

if __name__ == "__main__": 
    application.listen(8888) 
    tornado.ioloop.IOLoop.instance().start() 

當我寫的,而不是返回self.write它給我一個錯誤在龍捲風中使用self.write intsead返回的意義是什麼?

Traceback (most recent call last): 
    File "/home/nishant-un/env/local/lib/python2.7/site-packages/tornado/web.py", line 1155, in _when_complete 
    raise ValueError("Expected Future or None, got %r" % result) 
ValueError: Expected Future or None, got 'Hello, world' 

它不明白這究竟Values Error意味着

我使用龍捲風3.1.1

+1

「當我做一些事情從我應該做的事不同,我得到一個錯誤。」嗯,是。 –

+0

@Daniel Roseman:哇,這是一個什麼評論,他們在升級版本中做出的每一個改變都有一個原因......檢查一下我有些東西讓你理解[You_are_Stupid](http://haacked.com) /archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx) –

回答

2

在文件中:web.py.函數'get'不返回一個值,即'return'。您必須使用self.write(「你好,世界」)

def get(self, *args, **kwargs): 
    raise HTTPError(405)