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)

 

posted @ 2024-03-19 17:23  十一的杂文录  阅读(10)  评论(0编辑  收藏  举报