LoginSignup
67

More than 5 years have passed since last update.

posted at

updated at

Organization

pythonでmarkdownを扱う

PythonでMarkdownを扱う

  • pypi:Markdown
    これをダウンロードしてセットアップ。
md_test.py
import markdown

md = markdown.Markdown()

sample_makedown = '''
An h1 header
============

Paragraphs are separated by a blank line.

2nd paragraph. *Italic*, **bold**, `monospace`. Itemized lists
look like:

  * this one
  * that one
  * the other one
'''

# makedown -> html
print md.convert(sample_makedown)

print結果は以下です。

出力結果
<h1>An h1 header</h1>
<p>Paragraphs are separated by a blank line.</p>
<p>2nd paragraph. <em>Italic</em>, <strong>bold</strong>, <code>monospace</code>. Itemized lists
look like:</p>
<ul>
<li>this one</li>
<li>that one</li>
<li>the other one</li>
</ul>

こんなかんじでconvertしてあげるだけで、
MarkdownのテキストをHTMLに変換してくれます。

とても使いやすいですね。

ファイルに書き込みとかも対応しています。

Djangoで使う

Djangoで使う場合は次のようなフィルタを自作してあげます

myfilter.py
import markdown
#キャッシュするためここで宣言、初期化しとく
md = markdown.Markdown()

@register.filter
@stringfilter
def mark2html(value):
    return md.convert(value)
template.html
{% load myfilter %}

{{ markdown_text|mark2html }}

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
67