HTTP는 URL 접근에 대해 몇 가지 다른 방식을 제공하고 있다. 기본적으로는 GET 방식을 제공하지만 route() 데코레이터에 methods 옵션을 추가함으로써 다른 방식으로 변경할 수 있다. HTTP 메소드에는 대표적으로 GET 방식과 POST 방식이 있다. ▶ GET : 브라우저가 어떤 페이지에 저장된 정보를 단지 얻기 위해 서버에 요청하고, 서버는 그 정보를 보낸다. 가장 일반적인 방식이다. www.python-test.com?id=flask&passwd=1234 URL의 끝은 "?" 로 알리고 그 뒤에 Key=Value 로 형식으로 값을 전달한다. 여러개의 Key-Value 를 전달할 때는 "&" 로 구분한다. HTTP HEADER에 내용이 담겨 서버로 전달되기 때문에 BODY는 빈 상태가 ..
라우팅이 설정된 함수에 대한 URL을 얻기 위해서는 url_for() 함수를 사용하면 된다. 이 함수는 첫 번째 인자로 함수의 이름과 URL 룰의 변수 부분에 대한 키워드를 인자로 받는다. 파일명 : 4_url_building_test.py from flask import Flask, url_for #Flask 와 url_for 를 임포트한다. app = Flask(__name__) @app.route('/') def index(): pass @app.route('/login/') def login(): pass @app.route('/user/') def profile(username): pass with app.test_request_context(): # index 함수에 대한 URL 을 화면에 출..
이전 글에서 URL 을 통해 입력받은 문자열을 변수로 활용하는 방법에 대해 알아보았다. URL을 통해 전달받는 변수에 규칙을 지정할 수가 있는데 의 형식을 사용하면 된다. 파일명 : 3_variable_rules.py from flask import Flask app = Flask(__name__) @app.route('/blog/') def show_blog(postID): return 'Blog number is %d' % postID @app.route('/rev/') def revision(revNO): return 'Revision number is %f' % revNO if __name__ == '__main__': app.run(debug=True) 웹 브라우저 상에서 "127.0.0.1:5..
route() 데코레이터는 개발자가 정의한 함수와 URL 을 연결해준다. 파일명 : 2_route.py from flask import Flask app = Flask(__name__) @app.route('/hello/') def hello_world(name): return 'Hello World %s' % name if __name__ == '__main__': app.run() 프로그램을 실행한 후 웹브라우저를 열고 "http://127.0.0.1:5000/" 을 입력하면 페이지를 찾을 수 없다는 에러가 발생한다. URL 의 맨 마지막 "/" 을 처리할 수 있는 함수가 연결되어 있지 않기 때문이다. hello_world() 함수는 URL 이 "hello/xxxx (아규먼트)" 일 때 동작한다. 웹..