django 发帖时碰到的图片上传

Posted skyda

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django 发帖时碰到的图片上传相关的知识,希望对你有一定的参考价值。

所用编辑器 【wangEditor.js】 

图片上传接口 ‘/edit/image/‘ 返回内容  参照 https://www.kancloud.cn/wangfupeng/wangeditor3/335782

 # 2018_12_29 日更新

技术分享图片
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>wangEditor demo</title>
</head>
  <script type="text/javascript">
function modifyContent() {
var introduce = document.getElementById("introduce");
introduce.value = editor.txt.html();
}
</script>

<body>
<form action="" method="post" onsubmit="modifyContent()">
<div>
<!-- 编辑器编辑,提交时执行js,获得编辑器的内容,赋值给textarea,用于向后台提交存入数据库 -->
<textarea rows="5" cols="35" name="usIntroduce" style="display:none;" id="introduce"></textarea>
<div id="editor">
{#        <p>欢迎使用 <b>wangEditor</b> 富文本编辑器</p>#}
        <p>欢迎使用 <b>wangEditor</b> 富文本编辑器</p><p><img src="/static/upload/cart.png" style="max-width:100%;"></p>
</div>
        <!-- 注意, 只需要引用 JS,无需引用任何 CSS !!!-->
        <script type="text/javascript" src="/static/wangEditor.js"></script>
        <!-- 设置全屏功能的两个js文件,先引入jquery-3.2.1.min.js,在引入wangEditor-fullscreen-plugin.js -->
       
        <script type="text/javascript">
            var E = window.wangEditor
            var editor = new E(#editor)
            /* 处理上传图片的controller路径 */
             editor.customConfig.uploadImgServer = /edit/image/


                                                                                                        /* 定义上传图片的默认名字 */
             editor.customConfig.uploadFileName = myFileName
            // 或者 var editor = new E( document.getElementById(‘editor‘) )
            editor.create()
            //初始化全屏插件
        </script>
</div> 
<input type="submit" value="提交"></input>
    {% csrf_token %}
</form>

</body>
</html>
View Code---前端代码
技术分享图片
from django.shortcuts import render,HttpResponse
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
from suibi1.settings import upload_img
import os
# Create your views here.
def index(request):
    if request.method==GET:
        return render(request,index.html)
    elif request.method=="POST":
        print(request.POST.get(usIntroduce))
        return HttpResponse(提交成功)

@csrf_exempt
def image(request):
    if request.method=="POST":
        a = request.FILES[myFileName]
        name = a.name
        with open(os.path.join(upload_img,name),wb) as f:
            f.write(a.file.read())
            print(图片写入成功)
            return JsonResponse({"errno": 0, "data":[os.path.join(/static/upload,name),]})
View Code--django_views

 技术分享图片

 

以上是关于django 发帖时碰到的图片上传的主要内容,如果未能解决你的问题,请参考以下文章

怎么把照片发到网上

selenium实战 二 进入博客园,上传图片并发帖

上传Django的个人资料图片无法正常工作

django上传图片简单验证以及自动修改图片名称

Android - 应用程序启动时片段 onCreate 崩溃

django通过富文本编辑器发帖