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

+ Recent posts