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 的插件。
最后需要说的是,无论是推崇手绘,还是喜欢原型软件,做界面设计最重要的还是想法,工具只是用来帮助实现想法的。不必过于追求技术,也不必过于追求视觉表现,有时只需要专注于产品逻辑、页面交互、布局结构这些,其余的就交给美工。