A. django什麼富文本編輯器好用(django富文本編輯器哪個好)
本篇文章給大家談談django什麼富文本編輯器好用,以及django富文本編輯器哪個好對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
富文本即具備豐富樣式格式的文本。可以是包含了HTML語法格式的字元串。為了快速簡單的讓用戶能夠在頁面中編輯帶html格式的文本,引入富文本編輯器。
富文本編輯器:ueditor、ckeditor、kindeditor
在INSTALLED_APPS中添加
在settings/dev.py中添加
在總路由中添加
ckeditor提供了兩種類型的Django模型類欄位
修改應用/models.py裡面的欄位信息,記得要重新數據遷移
效果圖
TinyMCE|一款非常不錯的富文本編輯器TinyMCE的優勢:[1]
如果直接用form表單提交,後台是可以正常獲取到textarea內容的;如果用ajax提交,直接使用jquery$('#mytextarea').val()是獲取不到內容的,需要按如下方法獲取內容:
如果需要上傳圖片,需要在tinymce初始化里添加如下配置:
目前簡單體驗了一下TinyMCE,感覺還是可以,可以直接把網頁、word的內容直接拷貝過來,並能保留源格式,圖片按照上述配置好後,支持直接粘貼過來完成上傳到後台。其他功能等深入使用後再作更新。
幾種富文本編輯器Editor比較
1、UEditor網路的。
優點:插件多,基本滿足各種需求,類似貼吧中的回復界面。
缺點:不再維護,文檔極少,使用並不普遍,圖片只能上傳到本地伺服器,如果需要上傳到其他伺服器需要改動源碼,較為難辦,載入速度慢。
總結:小項目,可以用用,不推薦使用。
2、kindeditor
界面類似網路,效果很像
文檔齊全但用例較少,使用還算方便。
缺點:總感覺樣子不是很好看,沒有現代那種風格,還是老式的傳統圖標。
3、simditor
樣式好看,插件不多,基本滿足需求
文檔英文,使用較為吃力,如果英文水平不好的話
github上面開源,維護較好
因為文檔看起來吃力,所以本人沒有考慮繼續使用。
4、bootstrap-wysiwyg
利用bootstrap實現的,簡潔大方好看。
優點:輕量,好看,使用方便。
缺點:需要一定的瀏覽器支持,畢竟需要bootstrap
5、wangEditor
js和css實現
優點:輕量簡潔,最重要的是開源且中文文檔齊全。設計的UI漂亮。
插件基本能滿足需求,本人推薦使用。
6、CKEditor
功能強大,使用較多,可以看他們官網的例子,馬上就有感覺。
優點:編輯能力極強,基本和word差不多了。看起來界面極其優秀的一款。
缺點:網站訪問速度一般,文檔英文,需要花時間開發。
7、tinymce
支持圖片在線處理,插件多,功能強
編輯能力優秀,界面好看。
同樣文檔為英文,開發需要花時間。
使用之前需要考慮的點:
1需要插件,是否需要很多的插件,還是說簡單的那些功能就行了。
2界面考慮,看你喜歡那個界面了。
3圖片是否需要上傳圖片伺服器。
4文檔如果為英文是否會影響開發。
5支持瀏覽器類型和版本。
python-django中使用ckeditor富文本,後台沒問題,前台為什麼不好使?首先說一下富文本編輯器的原理,富文本編輯器一般都是通過js文件實現的,類似於一個網頁控制項。在django後台之所以可以調用富文本編輯器,那是因為它可以根據這個富文本編輯器定義的欄位,找到對行的js文件,然後在後台模板里調用這個js文件。而你直接通過給模板傳遞對應的函數,模板文件雖然可以識別到對應的函數,但是無法載入對應的js文件,自然無法在網頁中初始化這個富文本編輯器的控制項。
因此,對應的解決辦法是查一下ckeditor這個編輯器的前端調用方式,正常情況下一般是給你需要插入富文本編輯器的編輯框設置一個ckeditor對應的類,然後在模板文件中使用script/script標簽來導入ckeditor需要的js文件以及其他需要導入的靜態文件,就可以了。
不知道我講清楚了沒有,希望可以幫助到你。
哪個編輯器比較好用VSCode:這是一個免費、開源、跨平台的代碼編輯器,由微軟自主設計研發,界面風格和VS相似,但沒有VS那麼龐大臃腫,運行速度快、佔用內存少,支持常見的自動補全、代碼高亮、語法提示、GIT等功能,安裝Python插件後,可以直接編輯運行Python程序。對於Python入門開發者來說,是非常不錯的選擇。
SublimeText:是一個非常不錯的代碼編輯器,基本功能和VSCode差不多,輕便靈活、運行速度快,文本編輯功能強大,常見的自動補全、語法檢查、語法提示功能都能很好支持,配置好本地Python解釋器路勁後,也是一個非常不錯的Python開發軟體。
Atom:也是一個免費、開源、跨平台的代碼編輯器,由GitHub專門為廣大程序員設計研發,基本功能和前2個編輯器差不多,支持常見的智能補全、代碼高亮、語法檢查等功能,安裝Python插件後,也可以直接編輯運行Python程序。
Vim:這是Linux環境下使用最多的文本編輯器,輕便靈活、插件擴展眾多,可以自定義配置環境,和各種編程語言都能混搭,而且效果很好,安裝Python之後,可以直接當作一個非常不錯的Python開發軟體來使用。
VisualStudio:目前使用最多的IDE環境,集成了非常多的開發環境,新的版本也開始支持Python開發,勾選Python之後,可以直接編輯、調試、運行Python程序,功能強大。
PyCharm:一個Python專用的開發軟體,在業界非常流行,也非常受歡迎,支持代碼重構、代碼分析、單元測試等高級功能,因此開發、調試、運行效率很高,本身自帶了許多工程模塊,可以快速構建flask、Django等web應用。
富文本編輯器-1-選型團隊的業務多為後台管理系統,部分業務需要使用富文本編輯器。早期團隊選用了網路編輯器,但存在bug多、無人維護、擴展性差等問題,且後續業需要更靈活的編輯器。為了解決這些問題,決定重選編輯器。
基於以下原因,筆者決定使用Quill來開發團隊的編輯器組件:
1.Delta和API
Quill返回json結構的數據,有API操作編輯器內部元素。也可以通過innerHtml獲取dom。
2.可定製
Quill可以修改、擴展現有的模塊,也可以添加新的模塊,甚至可以在parchment的基礎上全部重寫。有較強的靈活性。
3.兼容性
當前版本兼容Chrome、IE11、Edge,已滿足業務需求。
4.與其他編輯器比較
相比CKEditor、TinyMCE等傳統編輯器,有更好的API和定製功能。而Draft是基於React的編輯器,需要自己實現數據層的內容,使用成本更高。國內的wangEditor功能比較全面,但不具備擴展性。
1.基礎文本模塊
分割線、格式刷、段落、撤回和重做
2.多媒體模塊
圖片上傳模塊
3.其他模塊
工具欄的Tooltip模塊
4.預覽功能
圖片上傳主要取決於業務需求,我們可以改寫圖片的handler方法,打開一個模態框或者打開本地文件夾,調介面上傳圖片。通用點是保存的時候,用Delta保留前面的內容並插入圖片內容,最後更新Quill。
由於圖片上傳、預覽主要取決於業務需求,與編輯器關系不大,後面不再提到。
關於django什麼富文本編輯器好用和django富文本編輯器哪個好的介紹到此就結束了,不知道你從中找到你需要的信息了嗎?如果你還想了解更多這方面的信息,記得收藏關注本站。
B. 電腦培訓課程
電腦培來訓主要涉獵的方自面比較廣,如果只是電腦基礎的話,主要學習:
1、通過學習辦公軟體中的word、EXCEL、 PPT 三個常用軟體,使學員能輕松製作辦公常用表格、文字錄入技巧。
2、通過學習辦公自動化軟體之後再也不用一個個的計算EXCEL中的數據,輕松搞定所有數據。
3、一份完美的PPT 在公司中是非常重要的,公司的形象,做好PPT讓加薪升職都輕松。
辦公自動化培訓課程:
1、計算機組成結構原理,英文指法,鍵盤練習。
2、Win多窗口操作,字體安裝與輸入法設置。
3、Word: 文字處理應用程序,文字編輯與段落格式設置,分頁與分欄,字體段落修飾。圖表圖文製作,郵件合並,列印預覽。
4、Excel: 電子表格應用程序,工作表的編輯
5、Powerpoint: 演示文稿,創建模板及使用,演示文稿的編輯、視圖方式、文本格式的設置。
6、實用網路技術:IE網上瀏覽,信息查詢,網上聊天室的構建,收發電子郵件,軟體下載等。
C. 如何創建pdf的buffer,讓pdf.js實現預覽pdf文件
pdf.js簡介
PDF.js 是基於開放的 HTML5 及 javaScript 技術實現的開源產品。簡單說就是一個 PDF
解析器。運用HTML5JavaScript(即pdf.js僅使用安全的web語言,不包含任何攻擊者可以用的本地代碼塊)的PDF閱讀器pdf.js,直接在標準的HTML頁面上載入和渲染PDF文件, 還可以提高安全性(不需要安裝第三方插件,安全性由瀏覽器保證),瀏覽器所做的安全措施已經為pdf.js提供了安全的運行環境。其對IE和 FireFox瀏覽器的要求是IE9+, FireFox19+。
在線示例: http://jsbin.com/pdfjs-helloworld-v2/1/edit
, http://jsbin.com/pdfjs-prevnext-v2/1/edit
源碼:https://github.com/mozilla/pdf.js
官網:http://mozilla.github.io/pdf.js/
pdf.js VS 傳統瀏覽器讀取pdf
一般來說,PDF檔案格式都是在瀏覽器中由外掛程式來描繪,通常是Adobe自己的PDF
reader或來自其他供應商的描繪工具,但這些外掛通常無法充分運用PDF的特點,而且由於含有大量的受信任代碼,使得Google
Chrome瀏覽器必須運用SandBox沙箱原理,來檢查PDF描繪工具是否遭到未知病毒感染。
使用adobe,必須在本地安裝軟體才能使用,而pdf.js不依賴環境、渲染速度快(測試過,確實很快)、安全性高。
pdf.js渲染PDF文件
pdf.js渲染PDF文件的流程:Fetch pdf (url / buffer) ——> canvas ——> 渲染
如果要深入pdf的渲染,需要去研究pdf.js源代碼。pdf.js可通過pdf文件的地址或pdf數據流獲取pdf,具體實現是調用介面函數 PDFJs.getDoc(url/buffer)將pdf載入html,通過canvas處理, 然後渲染pdf文件。網上給出的都是通過url來獲取pdf的例子,而我在做項目的時候,後台(Python)要求是發pdf的數據流給前台,前台接收pdf的buffer,然後通過pdf.js來渲染。當然最初嘗試buffer出現了很多問題,具體問題總結如下:
1)如何通過$.ajax接收後台發給前台的buffer數據;
2)如何將buffer傳給pdf.js來處理(這里我使用了viewer.js, 所以需要考慮的是如何將buffer傳給viewer.js來處理);
3)如何將pdf.js轉換成pdf.js可以接收的buffer格式;
(對應問題解決見代碼注釋)
註:viewer.js是pdf.js的擴展,其將列印、翻頁、縮放等功能進行了實現,且界面非常好看。也就是說如果你引入了viewer.js,pdf的渲染和渲染之後的功能界面都已經幫你實現了,你不用自己去寫界面。
先從官網:http://mozilla.github.io/pdf.js/ 下載代碼,然後使用文件viewer.html
, 我的html就是在viewer.html 的基礎上修改的,下面我給出buffer的例子:
<!DOCTYPE html>
<html dir="ltr" mozdisallowselectionprint moznomarginboxes>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="google" content="notranslate">
<title>在線預覽</title>
{% load static %}{% get_static_prefix as STATIC_URL %}
<link href="{{STATIC_URL}}css/preview.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="{{STATIC_URL}}pdfjs/web/viewer.css"/>
<script type="text/javascript" src="{{STATIC_URL}}pdfjs/web/compatibility.js"></script>
<link rel="resource" type="application/l10n" href="{{STATIC_URL}}pdfjs/web/locale/locale.properties"/>
<script type="text/javascript" src="{{STATIC_URL}}pdfjs/web/l10n.js"></script>
<script type="text/javascript" src="{{STATIC_URL}}pdfjs/build/pdf.js"></script>
<script type="text/javascript" src="{{STATIC_URL}}pdfjs/web/debugger.js"></script>
<script src="{{STATIC_URL}}js/jquery-1.8.3.js" type="text/javascript"></script>
<script type="text/javascript">
//convertDataURIToBinary()
//不知道什麼原因如果後台直接將pdf的數據流發給前台,得到的是亂碼,將數據轉換成 Uint8Array始終不成功
//所以就讓後台將發送之前的數據流做 了base64編碼發給前台,前台再解碼得到的數據就不是亂碼了。
var BASE64_MARKER = ';base64,';
var preFileId = {{mark}};
//viewer.js全局變數,傳入buffer,回答問題2
var DEFAULT_URL
$(document).ready(function(){
$.ajax({
type:"post",
async: false,
//ajax接收pdf數據流,注意dataType值的設置是否有錯,如果不指定,jQuery將自動根據HTTP包MIME信息返回
//responseXML或responseText
. 回答問題1
contentType:"application/pdf;charset=utf-8",
url:"{% url netPan.File.views.browserFuf%}",
data:{
id: preFileId
},
success:function(data){
var pdfAsDataUri = data;
//如果引入了viewer.js , 處理方法
var pdfAsArray = convertDataURIToBinary(pdfAsDataUri);
DEFAULT_URL = pdfAsArray;
// 只引入了pdf.js, 未引入viewer.js, 處理方法
// var pdfAsArray = convertDataURIToBinary(pdfAsDataUri);
// PDFJS.getDocument(pdfAsArray).then(); 自己寫pdf的處理函數
}
});
});
function convertDataURIToBinary(dataURI) { //編碼轉換,回答問題3
var base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length;
var base64 = dataURI.substring(base64Index);
var raw = window.atob(base64);
var rawLength = raw.length;
//轉換成pdf.js能直接解析的Uint8Array類型,見pdf.js-4068
var array = new Uint8Array(new ArrayBuffer(rawLength));
for(i = 0; i < rawLength; i++) {
array[i] = raw.charCodeAt(i);
}
return array;
}
</script>
<!--先設置全局變數DEFAULT_URL 的值,所以要後調入viewer.js -->
<script type="text/javascript" src="{{STATIC_URL}}pdfjs/web/viewer.js"></script>
</head>
<body>
省略內容
</body>
</html>
D. 提供幾款界面原型設計軟體
做界面設計如果沒有好的工具進行輔助,那隻會導致事倍而功半。下面推薦幾款不錯的界面原型設計軟體:
界面原型圖繪制工具 Pencil
Pencil 是一款開源的原型圖繪制工具,手繪風格的,就像自己在紙上畫的那樣。Pencil 還可以用來繪制各種架構圖和流程圖,同時還提供 Firefox 的插件。
最後需要說的是,無論是推崇手繪,還是喜歡原型軟體,做界面設計最重要的還是想法,工具只是用來幫助實現想法的。不必過於追求技術,也不必過於追求視覺表現,有時只需要專注於產品邏輯、頁面交互、布局結構這些,其餘的就交給美工。