페이지

레이블이 tornado인 게시물을 표시합니다. 모든 게시물 표시
레이블이 tornado인 게시물을 표시합니다. 모든 게시물 표시

2013년 2월 13일 수요일

tornado 405: Method Not Allowed

405: Method Not Allowed

WARNING:root:405 GET / (192.168.123.112) 0.49ms

POST 요청이 왔는데 post() 메소드가 없거나.
GET 요청이 왔는데 get() 메소드가 없거나
할 경우에 발생합니다.

메소드가 존재하는지를 확인합니다.
다음으로 핸들러 설정을 잘못하였거나 혹은 오타를 입력하였는지를 살펴봅니다.
소스 상에서 들여쓰기를 잘못 할 경우 인터프리터가 지적해주긴하지만
간혹 오류없이 실행되었는데 들여쓰기가 일치하지 않아 메소드를 찾지 못하는 경우도 있으니 이런부분도 확인해봅니다.




2013년 2월 12일 화요일

tornado HelloWorld에 컨트롤러 추가

import tornado.ioloop

import tornado.web

class MainHandler(tornado.web.RequestHandler):

    def get(self):

        self.write("Hello, world")

class MainHandler2(tornado.web.RequestHandler):

    def get(self):

        self.write("second handler")



application = tornado.web.Application([

    (r"/", MainHandler),
    (r"/two", MainHandler2),

])


if __name__ == "__main__":

    application.listen(8889)

    tornado.ioloop.IOLoop.instance().start()

위 소스에서 굵고 밑줄쳐진 부분이 추가된 부분입니다.
http://localhost:8889/two 로 접속하면 MainHandler2 가 실행되고
접근 방법에 따라 get() 또는 post()함수가 실행됩니다.

2013년 2월 5일 화요일

tornado 로 HelloWorld 출력



HelloWorld.py

import tornado.ioloop
import tornado.web

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

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

if __name__ == "__main__":
    application.listen(8889)
    tornado.ioloop.IOLoop.instance().start()
   
python HelloWorld.py

웹브라우저로 확인








tornado 설치

작업환경: 맥,리눅스

토네이도 웹 프레임워크에 필요한 라이브러리 설치.
sudo easy_install setuptools pycurl
sudo easy_install setuptools simplejson

토네이도 웹사이트
http://www.tornadoweb.org/

토네이도 최신버전을 다운로드 받아 설치합니다.


tar xvzf tornado-2.4.1.tar.gz
cd tornado-2.4.1
python setup.py build
sudo python setup.py install

문제해결
pycurl 설치시(맥에서)

error: Setup script exited with error: command 'clang' failed with exit status 1
xcode > preference > downloads > Command Line Tools 설치