Djangoueditor(富文本) 纯文字提取及导出word实现下载
作者:互联网
富文本在存储时是带有HTML代码的,因此在将富文本导出word文档时需要将富文本内容提取为纯文本
纯文字提取有两种方法推荐第二种
方法一:
后台导入包
from django.template.defaultfilters import striptags #提取富文本文字 需要提取处调用 text = striptags(obj_wen.ued) #obj_wen.ued为富文本存储在数据库中的名原文本
输出纯文本
通过对比,该方法可以提取纯文本但对英文过滤不佳 方法二 采用djangoueditor官方文档的方法 在富文本编辑页面在前端获取纯文本内容然后通过表单存入后台 function getPlainTxt() { text = UE.getEditor('id_content').getPlainTxt(); //获取富文本编辑器中纯文本 //document.getElementById("wenben").innerHTML=text; $("#wenben").attr("value",text); //赋值给value传入后台 } id_content为前端ueditor id 可通过打开该页面按F12查看 如图:提取结果
该方法基本完美解决英文纯文本提取,该方法需要注意在调用提取纯文字时需要在作者编辑完后开始,可写在表单提交时
导出为word并实现下载都一样
首先导入python word包
from docx import Document 然后构建文档 document = Document() #docx函数 document.add_heading(obj_wen.biaoti, 0) #写入标题 text = (obj_wen.textfield) #数据库纯文本 document.styles['Normal'].font.name = u'黑体' #字体格式黑体 p = document.add_paragraph() p.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER #居中 run = p.add_run(text) #写入文字 导入包实现下载文件名实现中文 from django.utils.http import urlquote #中文文件名 response = HttpResponse(content_type='application/octet-stream') #缓存申明 octet-stream为文件类型 response['Content-Disposition']='attachment;filename="%s.doc"'% urlquote(obj_wen.biaoti) #下载说明 文件名 document.save(response) #文件保存入缓存 return response 前端调用即可实现下载
希望对你有所帮助!
标签:document,Djangoueditor,text,纯文字,提取,wen,obj,word,文本 来源: https://www.cnblogs.com/ddb1-1/p/11783729.html