Главная Новости Галерея Вопросы Библиотека Контакты

python jinja2 예제

이것은 꽤 흥미롭지 않습니다. 그러나, 그것은 가능한 가장 간단한 예입니다. 변수를 추가하면 어떻게 됩니까? Real Python의 각 튜토리얼은 개발자 팀이 만든 것으로, 높은 품질 기준을 충족시면 됩니다. 이 자습서에서 작업한 팀 구성원은 다음과 같습니다. 응용 프로그램 개발자는 구문 구성을 {% foo %}에서 로 변경할 수 있습니다. 이 것의 주요 목적은 외부 범위에 루프 본문 내에서 값을 수행 할 수 있도록하는 것입니다. 초기 값은 키워드 인수또는 둘 다(Python의 dict 생성자와 동일한 동작)로 받아쓰기로 제공될 수 있습니다. 이는 일부 상황에서 유용합니다. 예를 들어 변수가 정의된 경우 기본 레이아웃 템플릿에서 한 템플릿에서 확장하려면 정수 및 부동 소수점 번호가 숫자를 적어 작성하기만 하면 됩니다. 점이 있으면 숫자는 float, 그렇지 않으면 정수입니다. 파이썬에서는 42와 42.0이 각각 다릅니다(int 및 float). 두 대괄호 사이의 모든 것이 목록입니다. 목록은 반복할 순차적 데이터를 저장하는 데 유용합니다.

예를 들어 for 루프에 대한 목록과 tuples를 사용하여 링크 목록을 쉽게 만들 수 있습니다: Jinja에서는 매크로를 사용하여 반복하지 않도록 반복해서 사용되는 일반적으로 사용되는 코드 조각을 추상화할 수 있습니다. 예를 들어 탐색 모음(활성 링크)에서 현재 페이지의 링크를 강조 표시하는 것이 일반적입니다. 그렇지 않으면 활성 링크를 결정하기 위해 if/elif/else 문을 사용해야 합니다. 매크로를 사용하여 이러한 코드를 별도의 파일로 추상화할 수 있습니다. 편의를 위해 Jinja2의 foo.bar는 파이썬 레이어에서 다음과 같은 작업을 수행합니다: 파이썬의 내장 문자열 포터포트는 훌륭합니다. 이전 비디오에서 따끔 .format()을 다루었습니다. 하지만 좀 더 강력한 무언가가 필요할 수도 있습니다. 그렇다면 Jija2보다 아마 당신이 필요로하는 것을 충족시킬 것입니다. 테스트에서도 인수를 허용할 수 있습니다. 테스트에 하나의 인수만 걸리는 경우 괄호를 제외할 수 있습니다. 예를 들어 다음 두 식은 동일한 작업을 수행합니다. 예를 들어 line 문 접두사가 #으로 구성된 경우 Jinja 2.2 이후 줄 기반 주석도 사용할 수 있습니다.

예를 들어 라인 주석 접두사가 ##으로 구성된 경우 ##에서 줄 끝까지 모든 것이 무시됩니다(줄 바호 기호 제외): 양식 요소를 렌더링하는 매크로의 작은 예는 다음과 같습니다. 사전. 사용자 정의 형식의 메서드에도 작동합니다. 예를 들어 Foo 형식의 변수 f에 정의된 메서드 막대가 있는 경우 다음을 수행할 수 있습니다. 및 템플릿의 논리를 제어하는 태그입니다. 템플릿 구문은 장고와 파이썬에서 크게 영감을 받았습니다. 인수를 허용하는 필터에는 함수 호출과 마찬가지로 인수 주위에 괄호가 있습니다. 예를 들어 {{ listx | 조인(`, `) }}는 쉼표(str.join(str.join(,`, listx))를 가진 목록에 조인됩니다. trim_block과 lstrip_block을 모두 사용하도록 설정하면 블록 태그를 자체 라인에 배치할 수 있으며 렌더링시 전체 블록 선이 제거되어 내용의 공백을 유지할 수 있습니다. 예를 들어 trim_blocks 및 lstrip_blocks 옵션이 없으면 이 템플릿: 실제로 템플릿을 로드하고 html 페이지를 생성하는 Python 프로그램을 generate.py.