저는 여러 파이썬 응용 프로그램에서 사용될 라이브러리를 구축 중입니다. RMDBS에서 다국어 전자 메일 템플릿을 얻은 다음 전자 메일을 보내기 전에 Python의 템플릿에서 변수 바꾸기가 수행됩니다.신뢰할 수없는 파이썬 템플릿 - 사용하기에 안전한 라이브러리는 무엇입니까?
변수 바꾸기 외에도 템플릿의 if, elif 및 for 문을 지원하는 템플릿 라이브러리가 필요합니다.
저는 Mako를 대부분의 프로젝트에 사용하고 필요없는 많은 기능을 제공하지 않기 때문에 Tempita를 보았습니다.
신뢰할 수없는 코드 실행 문제가 있습니다. 코드 실행을 지원하지 않는 Python 용 템플릿 솔루션에서 누군가 나를 지적하거나 비활성화 할 수 있습니까?
아마도 if/elif/for 요구 사항을 제거하고 string.Template을 사용해야합니다. 그것은 빠르며 여분의 라이브러리를 필요로하지 않고 내 안전 요구 사항을 충족시킵니다. – Tony
어쩌면 문자열 주위에 매우 얇은 래퍼를 작성할 수 있습니다. 조건부 문장을 허용하려면 템플릿을 사용 하시겠습니까? – Ravi
내가 결정한 것은 Object를 MailTemplate Object에 바인딩하는 mapper() 함수를 만드는 것입니다. mapper가 호출되면 템플릿 편집 중에 변수 대체 단계에서 사용할 수있는 Object의 속성을 정의합니다. 이렇게하면 조건부 또는 루프 논리가 필요하면 객체에서 @property def를 사용한 다음 해당 속성에서 반환 된 문자열을 사용할 수 있고 템플릿에 밀어 넣을 수 있습니다. – Tony