본문 바로가기

연재/Project Jarvis

[WebFramework] Bottle - Django의 간략판



Bottle - 심플한 Python WebFramework


  간단한 웹서버를 구성중인데, Django는 기능이 다양하고 안되는 것이 없을 정도로 강력한 툴이지만, 간단하게 그냥 서버를 열어서 사용하기에는 좀 무거운 툴이죠. Bottle은 가볍고 쉽게 사용할 수 있어서 좋습니다. Jarvis 프로젝트를 시작하면서 간단한 웹서버가 필요하여 찾아보던 도중 우선 사용해보기로 하였습니다.



공식 페이지



  튜토리얼도 워낙 잘 되어 있습니다만, 간단하게 사용법을 알아보도록 하겠습니다.



설치방법

  pip insatll을 사용합니다.


pip install bottle


  Python 2.6+, 3.2+를 지원하므로 거의 모든 버전의 Python에서 사용할 수 있습니다.



페이지연결

  Django와 유사하게, 정규표현식을 사용하여 URI 경로들을 Mapping 시킬 수 있습니다. 정규표현식에 관련해서는 아래 사이트에 다양한 예시를 확인해 볼 수 있습니다.



  간단한 Hello World 예제는 아래와 같이 됩니다.


	
@route('/')
@route('/hello/<name>')
def greet(name='Stranger'):
    return template('Hello {{name}}, how are you?', name=name) 
	


  @route 명령을 통해 연결을 원하는 경로를 지정하고, 바로 그 하단에 임의의 함수를 연결하는 식입니다. Django만큼 쉽게 빠르게 페이지 연결이 가능합니다. 이 Hello World 예제의 경우에는 기본 경로와, /hello/<name> 에 mapping 된 예제이고, 간단하게 변수전달이 어떻게 되는지도 보여주고 있습니다.



서버시작

  run 명령어로 서버를 시작해줍니다.


	
run(host='0.0.0.0', port=80) 
	


  0.0.0.0으로 설정하면 외부로 나가는 port가 설정되어 있을경우 외부에서 바로 결과를 확인하실 수 있습니다.