Django集成layui 的 layedit 之图片上传接口
# a.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="/static/layui/css/layui.css"> <script src="/static/layui/layui.js"></script> </head> <body> <div> <form action="/index2/" method="POST" enctype="multipart/form‐data"> {% csrf_token%} <textarea name="content" id="demo" style="display: none"></textarea> <input type="submit" class="layui‐btn"> </form> </div> <script> layui.use('layedit', function(){ var layedit=layui.layedit; layedit.set({ // 上传图片 uploadImage:{ url:'/index1/', accept:'image', acceptMine:'image/*', exts:'jpg|png|gif|bmp', size:'10240' }, // 代码设置 codeConfig:{ hide: true } }) layedit.build("demo"); }) </script> </body> </html>
# settings.py MEDIA_URL='/files/' MEDIA_ROOT=os.path.join(BASE_DIR,'files')
# urls.py from django.conf.urls.static import static from django.conf import settings urlpatterns += static('/files/',document_root=settings.MEDIA_ROOT)
# views.py from django.views.decorators.csrf import csrf_exempt @csrf_exempt def index1(request): id=request.FILES.get('file') # filename='201907031819001'+id.name filename=id.name f=open('files/'+filename,'wb') for i in id : f.write(i) f.close() dicts = { "code": 0, "msg": "ok", "data": { "src": "files/" + filename, "title": filename } } return JsonResponse(dicts)