.. highlight:: python .. currentmodule:: bottle .. _mako: http://www.makotemplates.org/ .. _cheetah: http://www.cheetahtemplate.org/ .. _jinja2: http://jinja.pocoo.org/ .. _paste: http://pythonpaste.org/ .. _fapws3: https://github.com/william-os4y/fapws3 .. _bjoern: https://github.com/jonashaag/bjoern .. _flup: http://trac.saddi.com/flup .. _cherrypy: http://www.cherrypy.org/ .. _WSGI: http://www.wsgi.org/ .. _파이썬: http://python.org/ .. _testing: https://github.com/defnull/bottle/raw/master/bottle.py .. _issue_tracker: https://github.com/defnull/bottle/issues .. _PyPI: http://pypi.python.org/pypi/bottle ========================== 보틀: 파이썬 웹 프레임워크 ========================== 보틀(Bottle)은 빠르고 단순하며 경량인 파이썬_\용 WSGI_ 마이크로 웹 프레임워크다. 한 파일로 된 모듈로 배포되며 `파이썬 표준 라이브러리 `_ 외에 다른 의존성이 없다. * **라우팅:** 요청을 함수 호출로 연결해 준다. 단순한 URL과 동적인 URL을 지원한다. * **템플릿:** 빠르고 파이썬스러운 :ref:`내장 템플릿 엔진 `\이 있으며 mako_, jinja2_, cheetah_ 템플릿을 지원한다. * **유틸리티:** 폼 데이터, 파일 업로드, 쿠키, 헤더, 기타 HTTP 관련 메타데이터에 편리하게 접근할 수 있다. * **서버:** 개발용 HTTP 서버가 내장돼 있으며 paste_, fapws3_, bjoern_, `구글 앱 엔진 `_, cherrypy_, 기타 WSGI_ 지원 HTTP 서버와 쓸 수 있다. .. rubric:: 예시: 보틀에서 "Hello World" :: from bottle import route, run, template @route('/hello/') def index(name): return template('Hello {{name}}!', name=name) run(host='localhost', port=8080) 이 스크립트를 실행하거나 파이썬 콘솔에 붙여 넣은 다음 브라우저로 ``_ 주소를 열어 보자. 이게 전부다. .. rubric:: 내려받아 설치하기 .. _download: .. __: https://github.com/defnull/bottle/raw/master/bottle.py PyPI_\를 통해 (``easy_install -U bottle``) 최신 안정 버전을 설치하거나 `bottle.py`__ 파일(불안정 버전)을 프로젝트 디렉터리로 내려받으면 된다. 파이썬 표준 라이브러리 외 모듈에 대한 필수 의존성이 전혀 없다 [1]_. 보틀은 **파이썬 2.5+ 및 3.x**\에서 돈다. 사용자 안내서 ============= 웹 개발에 보틀 프레임워크를 이용하는 방법을 배우고 싶다면 여기서 시작하면 된다. 여기서 답을 얻지 못한 질문이 있다면 `메일링 리스트 `_\에서 마음껏 물어 보면 된다. .. toctree:: :maxdepth: 2 tutorial configuration routing stpl api plugins/index 지식 베이스 =========== 글, 지침, 하우투 모음. .. toctree:: :maxdepth: 2 tutorial_app async recipes faq 개발 및 기여 ============ 보틀 개발 및 릴리스 절차에 관심 있는 개발자들을 위한 장이다. .. toctree:: :maxdepth: 2 changelog development plugindev .. toctree:: :hidden: plugins/index 라이선스 ======== MIT 라이선스에 따라 코드와 문서를 사용할 수 있다. .. include:: ../LICENSE :literal: 하지만 보틀 로고는 그 라이선스에 포함되지 *않는다*. 보틀 홈페이지에 대한 링크로 쓰거나 변경 안 된 라이브러리와 함께 직접 사용하는 건 허용된다. 그 외 경우에는 먼저 확인을 구하길 바란다. .. rubric:: 각주 .. [1] 템플릿이나 서버 어댑터 클래스 사용을 위해선 당연히 해당 템플릿이나 서버 모듈이 필요하다.