
라우팅이 설정된 함수에 대한 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 (아규먼트)" 일 때 동작한다. 웹..

Flask 가 정상적으로 설치되었는지 확인하기 위해 간단한 테스트 프로그램을 만든다. 파일명 : 1_Hello.py from flask import Flask # Flask 클래스를 임포트 한다. # Flask 클래스의 인스턴스를 생성한다. 인자로 모듈이나 패키지의 이름을 넘긴다. app = Flask(__name__) # route() 데코레이터를 이용하여 어떤 URL이 사용자 함수를 실행시킬지 정의한다. # hello_world() 함수는 "Hello World" 라는 문자열을 return 한다. @app.route('/') def hello_world(): return 'Hello World' # run() 메소드로 프로그램을 실행시킨다. if __name__ == '__main__': app.ru..