Program Tip

Django : Jinja2로 전환 하시겠습니까?

programtip 2021. 1. 8. 22:11
반응형

Django : Jinja2로 전환 하시겠습니까?


몇 개의 작은 (500 줄 또는 600 줄의 템플릿 코드) Django 사이트가 있는데,이 사이트를 Jinja2를 사용하여 마이그레이션하고 싶습니다.하지만 얼마나 많은 작업이 될지 알고 싶습니다. 일반적으로 작은 Django 사이트를 Jinja2로 마이그레이션하는 데 얼마나 많은 작업이 필요한가요? 그리고 "그럴 가치가있는"것입니까?


내 경험 일 뿐이지 만 Django에서 Jinja2로 전환하는 것은 다음과 같은 이유로 가치가 있다는 것을 알았습니다.

  1. Jinja2의 디자인과 구현은 소프트웨어 개발자와 템플릿 디자이너 모두에게 더 직관적 인 것 같았습니다.
  2. Jinja2는 더 확장 가능합니다 (적어도 템플릿 엔진을 확장하려는 방식에서).
  3. Jinja2는 로직 코드 실행을 허용하는면에서 더 유연합니다 (그러나 자신을 걸 수있는 충분한 로프를 제공합니다).
  4. Jinja2는 훨씬 더 빠른 것으로 간주됩니다 (비록 벤치 마크를 수행하지 않았지만 사용 된 테스트에 따라 항상 논쟁의 대상이되며 어떤 경우에도 DB 조회를 수행해야하는 쿼리에 대한 총 대기 시간과 거의 관련이 없습니다).
  5. Jinja2는 Django보다 훨씬 더 유용한 오류 출력을 제공합니다 (예 : 오류가 발생한 템플릿의 줄 번호 추적). 편집 : Dor의 의견에 따르면 Django는 Jinja2와 마찬가지로 문제의 줄과 컨텍스트를 가리키는 유용한 오류 메시지를 제공합니다.

Django의 템플릿 엔진에 문제가 없다면 Jinja2는 비교적 직관적으로 느껴질 것입니다. 아마도 조금 더 세련되었을 것입니다. 또한, CoffinDjango에서 Jinja2로 변환 할 때 프로젝트가 잘 작성되고 상당히 유용 하다는 것을 알았 습니다. 사용과 Jinja2 확장 방법의 예입니다.

말하자면 Django의 템플릿 엔진은 견고하고 대부분의 작업을 수행 할 수 있습니다. 나는 장고의 다음 개정판에서 개선되고 있다고 믿고 있으며, 많은 전담 개발자들이 그 기능을 추가하기 위해 많은 노력을 기울이고 있습니다. 결과적으로 단기 및 중기적인 미래에 지원이 중단 될 염려가 없습니다.

다시 말하지만, 그것은 가치있는 것에 대한 나의 경험 일뿐입니다. 도움이 되었기를 바랍니다.


장고 진자도 있습니다. https://github.com/niwibe/django-jinja

새롭고 멋진 프로젝트. http://niwibe.github.io/django-jinja/

Django와 간단하고 방해가되지 않는 jinja2 통합이라고 주장합니다.


말씀하신대로 Jinja2로 마이그레이션하는 것은 문제가되지 않을 수 있습니다. Django 템플릿에는 수학 연산을 수행하는 데 도움이되는 필터가 있습니다.

목록 작업과 관련하여 정확히 무엇에 대해 이야기하고 있습니까? 템플릿에서 특정 목록 작업을 지원하려면 사용자 정의 필터를 작성하십시오 .

Django에 대한 기존 타사 수학 필터도 있습니다.

생각해 보면 장고 템플릿에 "프로그래밍 구조"가 너무 많지 않다는 것은 의도적으로 설계된 것입니다. HTML 템플릿은 다음과 같아야합니다.


간단한 통합 단계와 Django와 멋지게 연결되는 Django에서 Jinja를 통합하려는 두 개의 프로젝트-

  1. Chouwa

Django Admin과 같은 Django contrib 앱에서도 작동하는지 실험하기 위해 즉시 통합하고 있습니다. 그러나 프로젝트 앱에서 사용할 수 있으며 Django 기본 템플릿 시스템은 Admin과 같은 내부 앱에서 사용됩니다.

참조 URL : https://stackoverflow.com/questions/4336713/django-switching-to-jinja2

반응형