DTa*_*lor 5 html python restructuredtext jinja2 flask
这个想法如下.我使用类似于stackoverflow的标签向jinja2发送一些文本.如何告诉jinja2将它们视为包含文本的标记并在html中生成粗体,斜体等文本?
谢谢.
我习惯了django-markdown,所以我认为使用过滤器是实现此目的的好方法:
<div class="content">{{ article.body|rst }}</div>
Run Code Online (Sandbox Code Playgroud)
我不知道 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
Run Code Online (Sandbox Code Playgroud)
您应该能够执行以下操作:
from docutils.core import publish_string
import jinja2
html = publish_string(source=text, writer_name='html')
node = jinja2.Markup(html)
Run Code Online (Sandbox Code Playgroud)
nodeJinja 2 节点实际包含在您的范围中的位置在哪里。
| 归档时间: |
|
| 查看次数: |
1515 次 |
| 最近记录: |