Djangoを使っていて,Markdownで表を書くときのメモ.
要は,extensions=['tables']
を指定するということ.
これを指定しないと,Markdownで表を書いても<p>....</p>
でレンダリングされる.
markdown.py
from markdown import Markdown
from django.utils.html import mark_safe
class MarkDownView(TemplateView):
template_name = 'myapp/markdown.html'
def get(self,request,*args,**kwargs):
mdsrc = '.....some mark down text including a table.....'
md = Markdown(extensions=['tables'])
md_html = mark_safe(md.convert(mdsrc))
self.extra_context = { 'md_html': md_html , }
return super().get(request,*args,**kwargs)
テンプレート側では,お約束でsafeを指定します.
myapp/markdown.html
:
{{ md_html|safe }}
:
他のextensionsについては下記.