django项目中使用KindEditor富文本编辑器

先从官网下载插件,放在static文件下

前端引入

<script type="text/javascript" src="/static/back/kindeditor/kindeditor-all.js"></script>

<script>
        KindEditor.ready(function (K) {

            window.editor = K.create(‘#content‘, {
{#                加上这句话可以使jquery能获取到富文本编辑器的内容#}
                afterBlur: function(){this.sync();},
                width: "800",
                height: "600",
                resizeType: 0,
                uploadJson: "/back/article/upload/",
                extraFileUploadParams: {
                    csrfmiddlewaretoken: "{{ csrf_token }}"
                },
                filePostName: "upload_img"//上传图片的名称
            });
        });
    </script>

定义富文本编辑器在页面中的位置

<textarea id="content" name="content" style="width:700px;height:250px;"></textarea>

ajax提交

#提交按钮
<input name="dosubmit" type="button" id="dosubmit" class="btn" value="马上发布">

# 提交富文本编辑器的内容
<script>
{#    提交文章#}
    $(‘#dosubmit‘).click(function () {
        $.post(‘/back/article/back_add/‘,$(‘form‘).serialize(),function (data) {
            if (data[‘status‘]==0){
                layer.msg(data[‘info‘])
                {#location.href="/back/index/index/"#}
            }else{
                layer.msg(data[‘info‘])
            }
        },‘json‘)
    })
</script>

路由

# 富文本编辑器
re_path(‘article/upload/‘, article.upload, name=‘article/upload/‘),
# 接受form表单内容添加文章
re_path(‘article/add/‘, article.add, name=‘article/add/‘),

后台接收图片方法

#富文本编辑器里上传图片
import os
def upload(request):
    """
    编辑器上传文件接受视图函数
    :param request:
    :return:
    """
    # print(request.FILES)
    img_obj=request.FILES.get("upload_img")
    # print(img_obj.name)
    path=os.path.join(settings.MEDIA_ROOT,"add_article_img",img_obj.name)
    with open(path,"wb") as f:
        for line in img_obj:
            f.write(line)
    response={
        "error":0,
        "url":"/media/add_article_img/%s"%img_obj.name
    }
    return HttpResponse(json.dumps(response))

后台接收内容方法

def add(request):
    member_obj=Member.objects.all()
    member_id = request.session.get(‘member_id‘)
    member_name=request.session.get(‘member_name‘)
    if request.method == ‘POST‘:
        title = request.POST.get("title")
        description = request.POST.get(‘description‘)
        content = request.POST.get("content")
        addtime=time.strftime(‘%Y-%m-%d‘,time.localtime())
        # 防止xss攻击,过滤script标签
        soup=BeautifulSoup(content,"html.parser")#通过字符串创建BeautifulSoup对象,即将字符串转为对象,然后调用对象里的相关方法
        print(soup.find_all())#[<img  src="/media/add_article_img/hand.png"/>, <script charset="utf-8" src="/static/blog/kindeditor/kindeditor-all.js"></script>,<img src="/media/add_article_img/thumb_50_img1.jpg"  />]
        for tag in soup.find_all():

            print(tag.name)#img   script
            if tag.name=="script":
                tag.decompose()
    #     # 构建摘要数据,获取标签字符串的文本前150个符号
        desc = soup.text[0:150] + "..."
        obj=Article.objects.create(article_title=title,article_description=desc,article_content=str(content),member_id=member_id,article_addtime=str(addtime).replace(‘/‘,‘-‘))
        if obj:
            return redirect(‘/back/article/add/‘)
    return render(request,‘article/add.html‘,locals())

页面效果

done。

原文地址:https://www.cnblogs.com/wanglfhh/p/12330615.html

时间: 2024-12-11 10:27:48

django项目中使用KindEditor富文本编辑器的相关文章

vue2.0项目中使用Ueditor富文本编辑器示例

最近在vue项目中需要使用富文本编辑器,于是将Ueditor集成进来,作为公共组件.在线预览:https://suweiteng.github.io/vue2-management-platform/#/editor项目地址:https://github.com/suweiteng/vue2-management-platform 记得在右上角点个赞哦~ 1.放入静态资源并配置 首先把官网下载的Ueditor资源,放入静态资源src/static中.修改ueditor.config.js中的wi

在 Vue 项目中引入 tinymce 富文本编辑器

项目中原本使用的富文本编辑器是 wangEditor,这是一个很轻量.简洁编辑器 但是公司的业务升级,想要一个功能更全面的编辑器,我找了好久,目前常见的编辑器有这些: UEditor:百度前端的开源项目,功能强大,基于 jQuery,但已经没有再维护,而且限定了后端代码,修改起来比较费劲 bootstrap-wysiwyg:微型,易用,小而美,只是 Bootstrap + jQuery... kindEditor:功能强大,代码简洁,需要配置后台,而且好久没见更新了 wangEditor:轻量.

WEB项目中使用UEditor(富文本编辑器)

Ueditor富文本编辑器是在很多项目里经常用到的框架,是百度开发团队开发的一款很好用的富文本编辑器 下面就是我在一个系统里用到的,有了富文本编辑器,管理员使用起来不是很方便? 所以本博客介绍这个富文本编辑器的使用哈!觉得写得不错的请点赞哈,有建议欢迎提哈!^V^ 下载链接:http://ueditor.baidu.com/website/download.html 具体的使用请看官网:http://ueditor.baidu.com/website/index.html 下载富文本编辑器后,我

vue2.0项目中使用Ueditor富文本编辑器应用中出现的问题

1.如何设置config中的内容 readonly:true,//只读模式wordCount:false,//是否开启字数统计enableAutoSave: false,//自动保存功能 重点:enableAutoSave不一定生效,怎么办? ueditor.config.js文件中设置enableAutoSave参数为false就可以关闭本地保存功能. //启用自动保存 ,enableAutoSave: false ueditor1.4.3版本是没有效果的,需要修改代码,在ueditor1.5

vue中使用kindeditor富文本编辑器2

第一步,下载依赖 yarn add kindeditor 第二步,建立kindeditor.vue组件 <template> <div class="kindeditor"> <textarea :id="id" name="content" v-model="outContent"></textarea> </div> </template> <s

vue中引入Tinymce富文本编辑器

最近想在项目上引入一个富文本编辑器,之前引入过summernote,感觉并不太适合vue使用, 然后在网上查了查,vue中使用Tinymce比较适合, 首先,我们在vue项目的components文件夹中加入如下几个文件 首先看一下Tinymce/dynamicLoadScript.js的内容: let callbacks = [] function loadedTinymce() { // to fixed https://github.com/PanJiaChen/vue-element-a

coding++:快速构建 kindeditor 富文本编辑器(一)

此案例 demo 为 SpringBoot 开发 1.官网下载相关资源包:http://kindeditor.net/down.php 2.编写页面(引入相关JS) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>kindeditor富文本编辑器</title> <link href="/

kindEditor 富文本编辑器 使用介绍

第一版:存放位置:  ---->把该创建的文件包放到javaWeb 过程的 WEB_INF 下:如图所示. 第二步:< kindEditor 插件的引用> :JS引用 1 <script type="text/javascript" charset="utf-8" src="/js/kindeditor-4.1.10/kindeditor-all-min.js"></script> 2 <scrip

ASP.NET网站使用Kindeditor富文本编辑器配置步骤

1. 下载编辑器 下载 KindEditor 最新版本,下载页面: http://www.kindsoft.net/down.php 2. 部署编辑器 解压 kindeditor-x.x.x.zip 文件,将editor文件夹复制到web目录下  3.在网页中加入(ValidateRequest="false") 1 <%@ Page Language="C#" AutoEventWireup="true" ValidateRequest=