TinyMCE是一個輕量級的基於瀏覽器的所見即所得編輯器,支持目前流行的各類瀏覽器,由JavaScript寫成。 功能配置靈活簡單(兩行代碼就能夠將編輯器嵌入網頁中),支持AJAX。另外一特色是加載速度很是快。javascript
django裏引用TinyMCE富文本編輯器,其實很簡單,前提是你知道django的靜態文件配置。 其實這個我已經在前面文章提到過,能夠回去再看看。php
TinyMCE的官方網站是:http://www.tinymce.com/css
下載地址:http://download.moxiecode.com/tinymce/tinymce_4.1.9.ziphtml
TinyMCE的最新版本是4.1.9,下面是官網截屏:java
下載下來後,咱們把它解壓到工程的static/目錄下面,以下圖所示:python
安裝的原理很簡單,只須要在使用編輯器的頁面裏引用tinymce.min.js文件並初始化就能夠了。 tinymce.min.js文件在tinymce項目裏, tinymce.min.js會根據初始配置裏的信息找到須要用編輯器的html節點。jquery
例如在post_edit.html頁面使用編輯器,只須要在模板文件寫下:程序員
1 |
{% load staticfiles %} |
這段代碼的含義是 初始化 tinyMCE編輯器,selector指須要將編輯器顯示在html那個標籤節點, 這裏選了textareas。則表示會變成編輯器所在的位置。django
另外,我還自定義一下編輯器的高度、插件、菜單項目等。具體詳細配置請參考官方文檔,寫的都比較清楚。bootstrap
需求很簡單,就是每次我寫文章的時候須要插入某個<!--more-->
標籤, 這樣能夠在列表頁面先只顯示文章的一部分,而後碰到這個more標籤就顯示一個」點擊閱讀更多」的連接。
第一步,在tinymce/plugins文件下新增一個addmore文件夾,而後在裏面新建一個plugin.min.js文件, 內容以下:
1 |
tinymce.PluginManager.add("addmore", function (a) { |
在post_edit.html中修改tinymce.init方法,plugins項目後面添加一個addmore:
... plugins: [ "advlist autolink lists link image charmap print preview anchor sh4tinymce upload", "searchreplace visualblocks code fullscreen", "insertdatetime table contextmenu paste addmore" ], ...
再看看效果,沒問題了。
程序員寫博客固然少不了代碼高亮,這個功能頁很容易實現。有一款插件叫SyntaxHighlighter值的推薦。
項目主頁:http://alexgorbatchev.com/SyntaxHighlighter/
下載地址:http://alexgorbatchev.com/SyntaxHighlighter/download/download.php?sh_current
下載下來後直接解壓到static/目錄下面,這個跟tinymce是同樣的原理。
使用方法
只須要修改django頁面的基礎模板就好了,很是簡單。
打開mysite/templates/mysite/base.html頁面,引入syntaxhighlighter:
1 |
{% load staticfiles %} |
因爲咱們以前已經安裝過了TinyMCE,這個跟它結合起來就很是好用了,由於TinyMCE自帶有選擇代碼語言功能。
下面是我建立文章時,插入了一段python代碼的示例:
這個是保存後的效果:
別忘了部署到Heroku上面和別人分享你的成果。
OK,到此爲止,前臺的各類功能已經差很少了,你能一直堅持學到這裏很不錯了,爲你本身鼓掌吧。
後面還有一個重頭戲,就是django的後臺管理,我選擇了更美觀更好用的xamdin,敬請期待…