1. Jinja2 템플릿 언어란?
- Flask 프레임워크에서 사용하는(내장된) 템플릿 언어 '템플릿'이 되는 HTML 문서에 데이터가 들어갈 곳을 표시해놓는 역할을 합니다!
- Jinja는 Python 프로그래밍 언어용 웹 템플릿 엔진입니다.
** 서버에서 값을 던 져줌 - html에선 키값을 명시
- app.py
@app.route('/')
def main():
myname = 'sparta'
return render_template("index.html",name=myname)
- html
<h3>{{ name }}아 안녕</h3>
2. 응용 (for, if, set)
- 파이참 Jinja2세팅
- app.py
@app.route('/detail')
def detail():
r = requests.get('http://openapi.seoul.go.kr:8088/6d4d776b466c656533356a4b4b5872/json/RealtimeCityAir/1/99')
response = r.json()
rows = response['RealtimeCityAir']['row']
return render_template("detail.html", rows=rows)
- HTML (for, if, set)
<ul id="gu-list">
{% for row in rows %}
{% set gu_name = row['MSRSTE_NM'] %}
{% set gu_mise = row['IDEX_MVL']|int %}
{% if gu_mise >= 60 %}
<li>{{ gu_name }}: {{ gu_mise }}</li>
{% endif %}
{% endfor %}
</ul>
3. 응용2 url로 값 던지기 ('?'사용)
- 브라우저
http://localhost:5000/detail?word_give=hi
- app.py
@app.route('/detail')
def detail():
word_receive = request.args.get('word_give')
print(word_receive)
return render_template("detail.html", word=word_receive)
- html
<h3>받은 단어는 {{ word }}</h3>
# 받은 단어는 hi
4. 응용2 url로 값 던지기 ('/'사용)
- 브라우저
http://localhost:5000/detail/sparta
- app.py
@app.route('/detail/<keyword>')
def detail(keyword):
return render_template("detail.html", word=keyword)
- html
<h3>받은 단어는 {{ word }}</h3>
# 받은 단어는 sparta
'프로그래밍 > Python' 카테고리의 다른 글
회원가입/로그인 (with. python) (0) | 2022.05.03 |
---|---|
셀레니움 사용법 (with. python) (0) | 2022.05.02 |
datetime 함수 (python) - 날짜/시간 (0) | 2022.04.28 |
f-string (python) (0) | 2022.04.28 |
파일 업로드 (python) (0) | 2022.04.28 |