Django 上传图片 及图文混编操作

Django 上传图片 及图文混编操作

Django 上传图片 需要完成以下配置

首先static 下要有 以下几个js 文件

tinymce_setup.js
jquery-1.12.4.min.js
jquery.form.min.js
jquery.tinymce.min.js

引入图文混编这个要注意 引入下面这个js 文件一定要创建和这个文件一样的路径

jquery.tinymce.min.js 这个路径特别要注意

引入js

 <script type="text/javascript" src="../../static/sadmin/js/jquery-1.12.4.min.js"></script>
 <script type="text/javascript" src="../../static/sadmin/js/jquery.form.min.js"></script>
 <script src="../../static/sadmin/tinymce/js/tinymce/tinymce.min.js"></script>
 <script src="../../static/sadmin/js/tinymce_setup.js"></script>

进入 tinymce_setup.js文件修改 imageupload_url 为:

imageupload_url: "/sadmin/upload_file/"

主应用Setting.py 中配制上传目录 在同级目录下创建upload文件夹

#定义上传文件夹的路径
UPLOAD_ROOT = os.path.join(BASE_DIR,'upload')

在主应用中 urls.py 中配置

from my_pro.settings import UPLOAD_ROOT
#导入文件路由库
from django.views.static import serve
# 配置路由
re_path('^upload/(?P<path>.*)$',serve,{'document_root':UPLOAD_ROOT}),

下面可以写代码了

		img = request.FILES.get('file')
        f = open(os.path.join(settings.UPLOAD_ROOT,'',img.name),'wb')

        #写文件 遍历图片文件流
        for chunk in img.chunks():
            f.write(chunk)
        #关闭文件流
        f.close()
        mes={}
        # 给图片加上路径
        mes['path'] = "/upload/"+img.name
		mes['error'] = False
        return HttpResponse(json.dumps(mes,ensure_ascii=False))  

为了方便操作 可以写两个方法,一个专门处理上传图片,图文混编直接调用处理图片方法


# 上传图片
def image_all(img):
    f = open(os.path.join(settings.UPLOAD_ROOT,'',img.name),'wb')
    
	 #写文件 遍历图片文件流
    for chunk in img.chunks():
        f.write(chunk)
    f.close



# 混编器图片接口
def upload_img(request):

    img = request.FILES.get('file')
    image_all(img)
    mes = {}
    mes['path'] = "/upload/"+img.name
    mes['error'] = False
    return HttpResponse(json.dumps(mes,ensure_ascii=False)) 

猜你喜欢

转载自blog.csdn.net/SJK__/article/details/88567090