美文网首页
2018-04-25

2018-04-25

作者: mo_陌上花开 | 来源:发表于2018-04-25 12:31 被阅读0次

    Django-上传图片

    1. 模型定义中将属性定义成 models.ImageField 类型

    pic=models.ImageField(upload_to='cars/')

    2. 图片存储路径--settings.py 文件中增加 media_root 项

    MEDIA_ROOT=os.path.join(BASE_DIR,"static/media")

    3. html模板

    <form method="post" action="/upload/" enctype="multipart/form-data">
      <input type="text" name="title"><br>
      <input type="file" name="pic"/><br>
      <input type="submit" value="上传">
    </form>
    

    form表单中一定要加enctype="multipart/form-data"
    multipart/form-data是将文件以二进制的形式上传,这样可以实现多种类型的文件上传

    4. 视图代码-处理函数

    引用模块
    from django.conf import settings

    def upload(request):
      if request.method == "POST":
        f1 = request.FILES['pic']
        fname = '%s/%s' % (settings.MEDIA_ROOT, f1.name)
        with open(fname, 'wb+') as pic:
          for c in f1.chunks():
            pic.write(c)
         return HttpResponse("ok")
      else:
        return HttpResponse("error")
    

    5. 应用url配置

    url(r'^upload/$', views.upload)

    相关文章

      网友评论

          本文标题:2018-04-25

          本文链接:https://www.haomeiwen.com/subject/rugelftx.html