2011-08-20 4 views
1

필자는 모델에 텍스트를 포함하는 텍스트 입력란을 가지고 있습니다. 텍스트를 html로 변환하고 내 .pt 템플릿에 표시해야합니다. 가장 좋은 방법은 무엇입니까?텍스트를 템플릿에 표시 하시겠습니까?

필드를 변환하고 HTML을 반환하는 모델에 메서드를 추가 한 다음 내 템플릿에서 메서드를 호출 할 수 있다는 것을 알고 있습니다. 그러나이 추가 메서드 없이는 내 매크로에서 markdown 필드 만 사용하면됩니다. 장고와 비슷한 템플릿? 이 엔진을하는 주형 것에 대한 TAL을 사용하고 StructuredText, reStructuredText 및 기타 서식있는 텍스트 형식을 사용할 수

{{ mytext|markdown:"safe" }} 

답변

1

플론 (Plone)는 TAL 외부 HTML에 대한 모든 렌더링을 수행합니다. 그래서 당신은 당신이 가고있는 접근법에서 틀린 나무를 짖고 있을지도 모릅니다.

즉, TAL에는 다소 확장 가능한 "표현"시스템이있어서 path 표현식 (기본값) 또는 python 표현식을 사용할 수 있습니다. plone을 포함하는 zope 세계에는 콘텐츠 제공 업체라는 페이지 작성 시스템이 있으므로 누군가가 provider tal 표현을 구현했습니다. 그래서 어쩌면 당신은 볼 수 있습니다 :

tales.py

configure.zcml

structure 키워드가 여전히 가장 쉬운 내기이다.

<div tal:replace="structure view/getMarkdown">rendered markdown</div> 

그러나 structure은 특별한 경우의 키워드이며 페이지 템플리트의 확장 가능 부분이 아닙니다.

+0

감사합니다. "구조체"가 텍스트를 변경하지 않고 그대로 전달한다는 것을 이해하는 한, 아무것도 변환하지 않습니다. 마크 다운에서 텍스트를 마크 업으로 변환하는 방법이 있습니까? – akonsu

+0

제가 아는 한, 카멜레온은 렌더링 마커 다운을 지원하지 않습니다. –

+0

거기에 맞춤 키워드를 구현하는 방법이 있습니까? – akonsu