kindeditor编辑器

1.kindeditor编辑器
2.直接利用form表单发送post请求
3.文章标题 文章内容 文章简介

1.利用bs4模块
	from bs4 import Beautifulsoup
	res = Beautifulsoup(content,'parser.html')
	res = res.find_all()
	for tag in res:
		print(tag.name)
		if tag.name == 'script':
		    tag.decompose()
			desc = res.text[0:150]
	models.Article.objects.create(...content=str(res))

使用

html代码

{% block content %}
    <h3>添加文章</h3>
    <hr>
    <form action="" method="post">
        {% csrf_token %}
        <p>标题</p>
        <input type="text" name="title" id="id_title" class="form-control">
        <p>内容(kindeditor编辑器,支持拖放/粘贴上传图片)</p>
        <p>
            <textarea name="content" id="id_content" cols="30" rows="10"></textarea>
        </p>
        <input type="submit" value="发布" class="btn btn-danger">
    </form>



    <script charset="utf-8" src="/static/kindeditor/kindeditor-all-min.js"></script>
    <script>
        KindEditor.ready(function (K) {
            window.editor = K.create('#id_content', {
                width: '100%',
                height:'450px',
                resizeType:0,  //控制用户能不能调大小
                // 控制文件上传的位置
                uploadJson : '/upload_img/',
                 extraFileUploadParams : {
                        'csrfmiddlewaretoken':'{{ csrf_token }}'

                }
            });
        });
    </script>
{% endblock %}

控制能否上传图片wiews.py代码

from BBS import settings
import os
def upload_img(request):
    back_dic = {'error':''}
    if request.method == 'POST':
        # print(request.FILES)
        img_obj = request.FILES.get('imgFile')
        # 规定编辑器上传的图片全部放到media文件夹里面的upload_img文件夹下
        # 1.将文件存储到media文件夹下
        path = os.path.join(settings.BASE_DIR,'media','upload_img')
        if not os.path.exists(path):
            os.mkdir(path)
        file_path = os.path.join(path,img_obj.name)
        with open(file_path,'wb') as f:
            for line in img_obj:
                f.write(line)
        # 2.将文件路径返回给前端
        back_dic['error'] = 0
        back_dic['url'] = '/media/upload_img/%s'%img_obj.name
        """
        //成功时
        {
                "error" : 0,
                "url" : "http://www.example.com/path/to/file.ext"
        }
        //失败时
        {
                "error" : 1,
                "message" : "错误信息"
        }
        
        """
    return JsonResponse(back_dic)
posted @ 2019-07-31 17:30  Huanghongzheng  阅读(133)  评论(0编辑  收藏  举报