0comments

jinja2 예제

웹 프레임 워크 내에서 Jinja2를 사용하는 경우 권장 방법을 사용해야합니다. 앞서 언급했듯이 Jinja2를 사용하는 것은 웹 프레임워크에만 국한되지 않습니다. 템플릿에서 텍스트를 생성하려는 경우 언제든지 사용할 수 있습니다. 이 게시물에서 우리는 웹 프레임 워크를 사용하지 않습니다. 이렇게 하면 예제 코드의 복잡성이 줄어듭니다. 템플릿을 로드하는 방법에는 여러 가지가 있습니다. 우리는이 게시물에 파일 시스템 로더를 사용 합니다. 모든 코드 예제에는 이 import 문이 암시됩니다. 변수의 형식에 정의된 메서드를 사용할 수도 있습니다. 메서드 호출에서 반환 된 값은 식의 값으로 사용 됩니다.

다음은 문자열에 정의된 메서드(page.title가 문자열인 경우)를 사용하는 예제입니다. 튜플에 항목이 하나만 있는 경우 쉼표(`1-튜플`)가 뒤따라야 합니다. 튜플은 일반적으로 두 개 이상의 요소의 항목을 나타내는 데 사용됩니다. 자세한 내용은 위의 목록 예제를 참조하십시오. Jinja2 기능 (매크로, 슈퍼, 자기. BLOCKNAME) 항상 안전한 것으로 표시된 템플릿 데이터를 반환합니다. Jinja2는 자주 사용하는 코드를 매크로에 넣는 것을 지원합니다. 이러한 매크로는 다른 템플릿으로 이동하여 거기에서 가져올 수 있습니다. 이것은 파이썬의 import 문과 유사하게 작동합니다.

가져오기가 캐시되고 가져온 템플릿은 기본적으로 전역만 현재 템플릿 변수에 액세스할 수 없다는 것을 아는 것이 중요합니다. 가져오기 및 포함의 컨텍스트 동작에 대한 자세한 내용은 컨텍스트 가져오기 동작을 참조하십시오. 정수의 산술 진행이 포함된 목록을 반환합니다. 범위 (i, j)는 [i, i+1, i+2, …, j-1]을 반환합니다. 시작 (!) 기본값은 0으로 설정됩니다. 단계가 주어지면 증분(또는 감소)을 지정합니다. 예를 들어, 범위(4) 및 범위(0, 4, 1)는 [0, 1, 2, 3]을 반환합니다. 끝점은 생략! 이는 4개 요소 목록에 대한 유효한 인덱스입니다. Jinja 템플릿은 개별 특성의 값을 삽입하기 위해 콧수염과 같은 태그인 {{name }}를 사용합니다. 또한 {% %} 쌍을 사용하여 일부 Jinja 코드를 포함합니다. 당신은 그것으로 많은 일을 할 수 있습니다.

이 예제에서는 조건과 루프를 볼 수 있습니다. 참고, 파이썬과는 달리, 여기에 각각 끝대와 끝으로 블록을 종료해야합니다. 인라인 경우 표현식을 사용할 수도 있습니다. 이는 일부 상황에서 유용합니다. 예를 들어, 변수가 정의된 경우 한 템플릿에서 확장할 수 있으며, 그렇지 않으면 기본 레이아웃 템플릿에서: Jinja 2.2 이후부터 는 포함을 무시하고 누락된 것으로 표시할 수 있습니다. 이 경우 포함할 템플릿이 없는 경우 Jinja는 문을 무시합니다. 컨텍스트와 함께 또는 컨텍스트 없이 결합하는 경우 컨텍스트 가시성 문 앞에 배치해야 합니다. 다음은 몇 가지 유효한 예입니다. 예를 들어 Foo 형식의 변수 f에 정의된 메서드 막대가 있는 경우 다음을 수행할 수 있습니다. 좋은 예는 시퀀스에 텍스트 변환 필터를 적용하는 것입니다: 여기서 는 함수 render_template()를 통해 템플릿 템플릿.html을 렌더링하는 경로 /를 설정합니다.

이 함수에는 템플릿 이름이 있어야 합니다. 선택적으로 my_string 및 my_list의 예제와 같이 키워드 인수를 템플릿에 전달할 수 있습니다. 먼저 우리의 부두에 : 필터. 나는 이것들을 아주 자주 사용하는 자신을 발견한다.

Comments are closed.