Flask 템 플 릿학습 노트

3319 단어 학습 노트
코드 는 나의 github 위 에 있 습 니 다:https://github.com/521xueweihan
개요:    Flask 에서 Jinja 2 기본 설정 은 다음 과 같 습 니 다.        A. 확장자 가. html,. htm,. xml 와. xhtml 인 템 플 릿 에서 자동 전 의 를 엽 니 다.        B. 템 플 릿 에서 {% autoescape%} 을 사용 하여 전의 여 부 를 수 동 으로 설정 할 수 있 습 니 다.        C. Flask 는 Jinja 2 환경 에 전역 함수 와 보조 대상 (아래 에 쓰 인 방법) 을 추가 합 니 다. 1. | safe 는 전의 문 자 를 닫 는 역할 을 합 니 다.    전의 란 특수 문 자 를 전의 하 는 것 이다.특수 문 자 는 HTML 을 가리킨다.    세 가지 방법 으로 전의 닫 기:        a. Markup 대상 으로 봉인 합 니 다.        b. 템 플 릿 에서 | safe 필터 사용 하기        c. 전체 시스템 의 자동 전 의 를 임시로 닫 습 니 다. {% autoescape false%}        2. {{여기에 변 수 를 놓 습 니 다} 3. 필 터 를 등록 합 니 다.    두 가지 방법: jinja 수 동 으로 넣 기env 중, template 사용 하기filter () 장식 기
 a:    @app.template_filter('reverse')

        def reverse_filter(s):

            return s[::-1] #     



  b:    def reverse_filter(s):

            return s[::-1]

        app.jinja_env.filters['reverse'] = reverse_filter

등록 에 성공 하면 템 플 릿 에 Jinja 2 의 내장 필터 처럼 필 터 를 사용 할 수 있 습 니 다.  
{% for x in mylist | reverse %} #                    

{% endfor%}

 
 
4. 환경 프로세서 의 역할 은 새로운 변 수 를 템 플 릿 환경 에 자동 으로 도입 하여 사전 으로 되 돌려 주 는 것 입 니 다.수식 기 사용: @ app. contextprocessor    전달 하 는 것 은 하나의 변수 일 수도 있 고 함수 전달 변수 일 수도 있 습 니 다. 
@app.context_processor

def inject_user():

    return dict(user = g.user)

            전달 함수:   
@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)        

 
위의 예 는 formatprice 함수 가 모든 템 플 릿 에 전달 되 며 템 플 릿 에서 마음대로 호출 할 수 있 습 니 다.
{{ format_price(0.33) }}

 

좋은 웹페이지 즐겨찾기