Jinja2 에서는 render_template() 함수를 이용하여 html 파일을 렌더링 할 수 있다. 패키지 경로 또는 모듈이 위치한 경로에 templates 디렉토리를 만들고 그곳에 html 파일을 생성하기만 하면 된다. 정적 파일 (Static file) 도 이와 유사한 방식으로 사용할 수 있다. 패키지 경로 또는 모듈이 위치한 경로에 static 디렉토리를 만들고, 그곳에 css 나 자바스크립트와 같은 static file 을 위치시키면 된다. 파일명 : 7_static_files.py from flask import Flask, render_template app = Flask(__name__) @app.route("/") def index(): # 7_static_files.html 을 렌더..
route() 데코레이터에 의해 실행되는 함수의 리턴값으로 문자열을 셋팅하면 웹 브라우저 상에 해당하는 문자열이 출력된다는 것을 알 수 있다. 2019/03/21 - [Flask] - [Flask] Application (Hello World) 그런데 단순한 문자열이 아닌 HTML 형식을 리턴할 수도 있다. 아래 프로그램을 실행해보자. 파일명 : 6_templates_test.py from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'Hello World' if __name__ == '__main__': app.run(debug=True) 태그가 적용된 Hello World 문자열이 브라우저에 보여진다. 하지만..
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 을 화면에 출..