5

アイデアは次のとおりです。stackoverflow と同様のタグを使用して、いくつかのテキストを jinja2 に送信します。それらをテキストを含むマークアップとして扱い、太字、斜体などのテキストをhtmlで生成するようにjinja2に指示するにはどうすればよいですか?

ありがとうございました。

4

2 に答える 2

4

私はdjango-markdownに慣れているので、フィルターを使用することはこれを達成するための良い方法だと思います:

   <div class="content">{{ article.body|rst }}</div>

そのようなフィルタが jinja2 に存在するかどうかはわかりませんが、非常に簡単に記述できるはずです。この行の何かを推測します(テストされていないコード):

from docutils.core import publish_parts
import jinja2

def rst_filter(s):
    return jinja2.Markup(publish_parts(source=s, writer_name='html')['body'])
environment.filters['rst'] = rst_filter
于 2012-07-03T11:31:41.583 に答える
3

あなたはこれを行うことができるはずです:

from docutils.core import publish_string
import jinja2

html = publish_string(source=text, writer_name='html')
node = jinja2.Markup(html)

nodeスコープに実際に含めるJinja2ノードはどこにありますか。

于 2012-07-03T11:29:24.093 に答える