Flask에서 Context Processors를 사용하는 방법

3040 단어 Flaskjinja2

개요



템플릿에서 공통으로 사용하고 싶은 변수나 함수를 정의하기 위해서는 Context Processors가 편리합니다.

변수편



예를 들어 오늘 날짜를 템플릿으로 표시하려면 다음과 같은 Context Processor를 정의하면 매번 템플릿에 전달할 필요가 없으므로 유용합니다.
@app.context_processor
def jst_today():
    from datetime import datetime, timedelta, timezone
    JST = timezone(timedelta(hours=+9), 'JST')
    jst_today = datetime.now(JST).strftime('%Y/%m/%d')
    return dict(jst_today=jst_today)

템플릿에서 다음과 같이 오늘 날짜를 볼 수 있습니다.
{{ jst_today }}

함수편



숫자에 통화 단위를 붙여 반환하는 함수는 다음과 같이 정의해 두면 편리합니다.
@app.context_processor
def utility_processor():
    def format_price(amount, currency=u'円'):
        return u'{0:.2f}{1}'.format(amount, currency)
    return dict(format_price=format_price)

템플릿에서는 다음과 같이 호출할 수 있습니다.
{{ format_price(100) }}

참고



[1] htps // f sk. 파트 tsp 로지 cts. 코 m/엔/1.1. x / mp ぁ 친 g / # 이렇게 xtp 로세 rs

좋은 웹페이지 즐겨찾기