반응형
참조 링크 (link)>>
flask.palletsprojects.com/en/1.1.x/quickstart/
Python flask에서 HTML과 변수 주고 받기
파이썬에서 HTML을 만들고 변경하는 것은 쉬운 작업이 아니다. application 보안을 위해 동적으로 바뀌는 값을 escape 처리 해서 작성해야하기 때문이다.
Flask에서 jinja2 엔진을 공급한다. 간단하게 render_template 함수로 html 에 접근하면서 원하는 변수도 같이 보내 줄 수 있다. html 문서에서는 받은 변수 값을 {% %} {{ }} 괄호 안에서 사용 전자는 문법용이고 후자는 변수를 바로 사용할때 사용한다. 이렇게 사용이 가능하게 해주는 것을 jinja2 엔진이 가능하게 해주는 것이다.
아래 예제 코드를 보면 쉽게 이해할 수 있다.
코드>>
from flask import *
#########################################################
# Flask 선언
app = Flask(__name__, template_folder="templates")
@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name=None):
return render_template('hello.html', name=name)
if __name__ == "__main__":
app.run(host='0.0.0.0', debug=True, port=9999)
<!doctype html>
<title>Hello from Flask</title>
{% if name %}
<h1>Hello {{ name }}!</h1>
{% else %}
<h1>Hello, World!</h1>
{% endif %}
페이지에 접근할 때 <name> 변수 값을 넣으면 변수 값이 render_template를 타고 다시 HTML로 넘어 간다.
결과>>
반응형
'파이썬(Python) > Flask' 카테고리의 다른 글
REST API란? flask를 통해 예제 실습하기 (0) | 2021.04.29 |
---|---|
flask 기본 예제 실행이 안될 때 (에러메세지도 안뜨는 경우) (0) | 2021.04.15 |
파이썬 Flask 기능 정리 - url_for, HTTP 요청(GET,POST,PUT,DELETE,OPTIONS)과 처리방법 (0) | 2021.01.28 |
파이썬 Flask 기능 정리 - route, 변수(variable)<괄호>로 보내기, url 표기 방법 (0) | 2021.01.27 |
bootstrap 예제 가져와서 사용해보기(로그인페이지) (0) | 2020.12.16 |