
不得不说,markdown是写(zhuang)作(bi)利器,在用django时我就将其认定为必备功能之一。对于markdown的支持,Django本来有集成的markdown功能,在django.contrib.markup中,但自1.6以来,这个库整个就被砍掉了,只能用第三方来实现。
我摸索了将近一个小时,终于找到了一种傻瓜操作,功能齐全的库,那就是django-markdown-deux。
使用pip简单粗暴来安装:pip install django-markdown-deux
如果不是管理员权限,要用加上sudo,因为有创建文件夹,语法如下:sudo pip install django-markdown-deux
将‘markdown_deux‘添加进INSTALLED_APPS列表:
INSTALLED_APPS = (
...
‘markdown_deux‘,
...
)
在模版中需要2段代码:
{% load markdown_deux_tags %};markdown示例代码:
{% load markdown_deux_tags %}
{% extends ‘base.html‘ %}
{% block content %}
<div class="main_body">
<h1>{{ post.title }}</h1>
{{ post.content|markdown }}
</div>
{% endblock %}
注意:这里需要注意的是,并不是说在base模版中加入{% load markdown_deux_tags %},其他模版都不需要调用了(我之前就搞错了)。而是只需要在使用markdown过滤器的模版中加入{% load markdown_deux_tags %}即可,比如我一个项目中的post.html和posts_list.html。
完成以上三步就大功告成了,你可以在后台输入框中输入markdown语法,在前台就能看到已经转化过的内容。
如后台输入:
#测试篇
##头号大将 - 瑟卡
**标志**:黑桃
**猜测对手**:萨博或zero
在前台渲染成的HTML代码如下:
<h1>测试篇</h1>
<h2>头号大将 - 瑟卡</h2>
<b>标志</b>:黑桃
<b>猜测对手</b>:萨博或zero
原文:http://www.cnblogs.com/zhuweiblog/p/5171254.html