【django】搭建博客教程(3)——markdown以及highlight
来源:互联网 发布:java用16进制设置颜色 编辑:程序博客网 时间:2024/05/03 05:18
一.工作环境
ubuntu14.04
python2.7 + django1.8
二.markdown你的文章
1.安装markdown2
#首先安装markdown2pip install markdown2
2.应用markdown2
a. 进入应用的目录,执行下面操作:
$ mkdir templatetags$ touch __init__.py$ touch custom_markdown.py
b.修改custom_markdown.py:
import markdown2 from django import template from django.template.defaultfilters import stringfilter from django.utils.encoding import force_text from django.utils.safestring import mark_saferegister = template.Library()@register.filter(is_safe=True)@stringfilterdef custom_markdown(value): return mark_safe(markdown2.markdown(force_text(value), extras=["fenced-code-blocks", "cuddled-lists", "metadata", "tables", "spoiler"]))
c. 在模板中添加markdown:
{% extends "base.html" %}{% load custom_markdown %}{% block content %}…… <p> {{ post.content|custom_markdown }} </p>……{% endblock %}
至此,我们已经可以使用markdown的语法啦~
不过暂时还没有代码高亮功能,我们需要自己添加,这里我们使用highlight.js:
3.添加代码高亮
在我们base.html的头部添加:
<link rel="stylesheet" href="http://cdn.bootcss.com/highlight.js/8.0/styles/monokai_sublime.min.css"><script src="http://cdn.bootcss.com/highlight.js/8.0/highlight.min.js"></script><script>hljs.initHighlightingOnLoad();</script>
此处直接使用cdn,很方便,当然你也可以自己去官网下载到本地~
三.后台添加markdown功能以及预览
1.安装pagedown
pip install django-pagedown
2.修改setting.py,添加应用
INSTALLED_APPS = (...'pagedown',...)
3.设置form.py
在需要该编辑器的form中进行设置。以数据库表Article为例,在我们的Blog的aap中,models中已经定义好Article表了。
创建forms.py,添加如下:
from models import Articlefrom pagedown.widgets import AdminPagedownWidgetfrom django import formsclass ArticleForm(forms.ModelForm): content = forms.CharField(widget=AdminPagedownWidget()) class Meta: model = Article
4.设置admin.py
修改admin.py 如下:
from django.contrib import adminfrom blog.models import Articlefrom forms import ArticleFormclass ArticleAdmin(admin.ModelAdmin): form = ArticleFormadmin.site.register(Article, ArticleAdmin)
这样子,我们到后台就可以看到markdown的预览啦~~
0 0
- 【django】搭建博客教程(3)——markdown以及highlight
- 【django】搭建博客教程(2)——Template的使用
- Django搭建简易博客教程
- 【django】搭建博客教程(1)——环境搭建,项目创建及初步测试
- 【django】搭建博客教程(4)——超级简单实现滚动回到页面顶端按钮
- Django搭建简易博客教程(一)
- Django搭建简易博客教程(二)
- Django 搭建简易博客(3)
- Django开发博客(六)——添加markdown支持
- Django开发博客(七)——markdown优化
- django搭建简易博客
- Django搭建简易博客
- Django搭建个人博客
- django 搭建博客学习
- Django 快速搭建博客 第七节(文章详情页,markdown语法)
- Django使用-Django搭建简单博客
- Django 搭建博客(一)
- Django 搭建简易博客(1)
- android将Bitmap转换成文件
- Swift 类构造器的使用
- MSDN-Abstract Data Models
- 【Java并发编程实战】—–“J.U.C”:Semaphore
- 程序员如何平衡工作与生活
- 【django】搭建博客教程(3)——markdown以及highlight
- 列表视图(ListView)和ListActivity——ArrayAdapter
- CI验证码函数修改及调用方法
- HTML5定稿一周年 你必须要重新认识HTML5了
- MQTT XMPP HTTP 即时通讯方案对比
- web项目中各种路径的获取
- linux常用命令
- [转]请放下你的无效社交
- 【Leetcode】之Next Permutation