• 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', {
                     '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)
    
  • 相关阅读:
    Spring 框架学习:BeanFactory 和 FactoryBean
    Spring框架学习二:通过简单的HelloWorld程序理解IoC
    Spring框架学习一:环境准备
    Java多线程:Condition条件
    Java多线程:公平锁和非公平锁
    Java多线程:AQS源码分析
    Java多线程:可重入锁RentrantLock
    Java多线程:Unsafe 类以及 CAS 函数
    Java多线程:AtomicIntegerFieldUpdater 原子更新字段类
    Java多线程:AtomicReference AtomicStampedReference AtomicMarkableReference 原子更新引用类型
  • 原文地址:https://www.cnblogs.com/huanghongzheng/p/11277848.html
Copyright © 2020-2023  润新知