1

モデルにマークダウンテキストを含むテキストフィールドがあります。テキストをhtmlに変換して、.ptテンプレートに表示する必要があります。それを行うための最良の方法は何ですか?

フィールドを変換してHTMLを返すメソッドをモデルに追加し、テンプレートからメソッドを呼び出すことができることに気付きましたが、Djangoと同様に、テンプレートのマークダウンフィールドのみを使用することで、この余分なメソッドなしでそれを行うことができます?

{{ mytext|markdown:"safe" }}
4

1 に答える 1

1

テンプレートエンジンにTALを使用し、StructuredText、reStructuredText、およびその他のリッチテキスト形式を使用できるPloneは、TALの外部でHTMLへのすべてのレンダリングを行います。そのため、目的のアプローチで間違ったツリーを吠えている可能性があります。

とは言うものの、TALにはある程度拡張可能な「式」システムがあるため、path式(デフォルト)またはpython式を使用できます。ploneを含むzopeの世界には、コンテンツプロバイダーと呼ばれるページ構成システムがあるため、誰かがprovidertal式を実装しました。だから多分あなたはそれを見ることができます:

tales.py

configure.zcml

キーワードはまだあなたのstructure最も簡単な賭けです。

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

ただし、これstructureは特殊なケースのキーワードであり、ページテンプレートの拡張可能な部分ではありません。

于 2011-08-20T05:21:59.077 に答える