Python/Bottle
-
[Bottle] 4. TemplatePython/Bottle 2019. 9. 3. 12:17
[Python web framework: Bottle] 4. Template Bottle에는 'SimpleTemplate Engine' 이라는 내장 템플릿 엔진이 있고, template() 함수나 view() 데코레이터를 통해 사용할 수 있습니다. from bottle import route, template, run @route('/') @route('/hello/') def greet(name='Stranger'): return template('Hello {{name}}, how are you?', name=name) # 1 run(host='localhost', port=8080, debug=True) #1 에 template 함수와 {{name}} 이 보이시죠? 이렇게 데코레이터를 이용해서 사용..
-
[Bottle] 3. Routing 3 - 정적파일 라우트, 에러 페이지, 리다이렉트Python/Bottle 2019. 9. 2. 23:45
[Python web framework: Bottle] 3. Routing 3 ROUTING STATIC FILES CSS나 이미지 파일 등을 정적파일이라고 부릅니다. root='./static' 으로 설정하고 작업 디렉토리 아래에 '/static' 디렉토리를 만들면 됩니다. 작업 디렉토리(./)와 프로젝트 디렉토리가 항상 동일한 것은 아니기 때문에 주의해야 합니다. from bottle import route, static_file, run @route('/static/') def server_static(filename): return static_file(filename, root='/path/to/your/static/files') # 1 # return static_file(filename, r..
-
[Python web framework: Bottle] 3. Routing 2 - 리퀘스트 메소드Python/Bottle 2019. 9. 1. 23:18
[Python web framework: Bottle] 3. Routing 2 - HTTP REQUEST METHODS HTTP 프로토콜에는 몇 가지의 리퀘스트(요청) 메서드(방법)가 정의되어 있습니다. 자세한 것은 다음을 참고하세요. https://developer.mozilla.org/ko/docs/Web/HTTP/Methods Bottle에서 리퀘스트 메서드는 route() 데코레이터에 키워드 인수로 지정할 수 있습니다. 다른 방법으로는 route() 데코레이터 대신 get(), put(), delete(), patch() 데코레이터를 사용해도 됩니다. 이는 각각 GET, POST, PUT, DELETE, PATCH 메서드를 의미하겠죠? 메서드를 지정하지 않을 경우는 기본값인 GET으로 간주됩니다...
-
[Python web framework: Bottle] 3. Routing 1 - 동적 라우트Python/Bottle 2019. 8. 31. 08:13
1. 2중으로 라우트를 할 수 있습니다. 이제 http://localhost:8080/ 으로도 "Hello World!"를 볼 수 있습니다. from bottle import route, run @route('/') # 1 @route('/hello') def hello(): return "Hello World!" run(host='localhost', port=8080, debug=True) #1: route() 데코레이터를 2중으로 겹쳐 사용할 수 있습니다. bottle의 라우트 개념은 아주 직관적입니다. ㅎㅎㅎ. 브라우저로 어떤 주소의 요청을 하면 route() 데코레이터가 해당되는 함수를 연결해줍니다. * 자세히 알 필요는 없지만 데코레이터 자체는 함수이며 뒤에 따라오는 함수의 앞(이나 뒤)에서 ..
-
[Python web framework: Bottle] 2. Hello WorldPython/Bottle 2019. 8. 30. 22:33
from bottle import route, run # 1 @route('/hello') # 2 def hello(): return "Hello World!" run(host='localhost', port=8080, debug=True) # 3 # 1. 보틀을 임포트 합니다.. # 2. route()라는 데코레이터가 URL 경로 '/hello'와 다음 줄의 hello 함수를 연결해줍니다.. * 데코레이터 - 파이썬에서 @로 시작하는 일종의 클로저 함수. 데코레이터와 클로저는 중급(?) 정도의 파이썬 지식이 필요합니다. 데코레이터나 클로저 같은 문법을 잘 몰라도 웹 애플리케이션을 작성할 수 있도록 도와주는 것이 웹 '프레임워크'죠. 일단은 넘어가도록 합시다. * 프레임워크와 라이브러리의 차이도 생각해 ..
-
[Python web framework: Bottle] 1. 개요 및 설치Python/Bottle 2019. 8. 30. 22:03
파이썬 웹 프레임워크 Bottle 홈페이지 https://bottlepy.org/ 특징 1. 정말 작은 크기 - 단일 파일, 3800 라인. 2. 종속성 없음 - 파이썬 표준 라이브러리만 사용 3. REST 지원 구성 Routing : 리퀘스트와 함수호출을 매핑. 간편 URL 및 동적 URL을 지원함. Templates : 파이써닉한 내장 템플릿 엔진을 가지고 있음. mako, jinja2, cheetah 등의 외부 템플릿 엔진 지원. Utilities : 폼 데이터, 파일 업로드, 쿠키, 헤더, HTTP 관련 메타데이터에 대한 편리한 억세스. Server : 내장 개발 HTTP 서버. paste, fapws3, bjoern, gae, cherrypy 등의 외부 WSGI 호환 HTTP 서버 지원. * W..