最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django實(shí)現(xiàn)圖片上傳功能步驟解析

 更新時(shí)間:2020年04月22日 15:32:11   作者:小陸同學(xué)  
這篇文章主要介紹了Django實(shí)現(xiàn)圖片上傳功能步驟解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

1.首先是html頁(yè)面的form表單的三大屬性,action是提交到哪,method是提交方式,enctype只要有圖片上傳就要加這個(gè)屬性

Django框架自帶csrf_token ,所以需要在前端頁(yè)面也生成csrf_token字符串,來驗(yàn)證真實(shí)客戶

    <form action="/pic_upload/" method="POST" enctype="multipart/form-data">
      {% csrf_token %}
      <input type="file" name="file">
      <input type="submit" value="提交">
     </form>

2.如下是上傳圖片的接口:

def pic_upload(request):
  if request.method == "GET":
    return render(request,"helloapp/pic_upload.html",locals())
  if request.method == "POST":
    error = ""
    fp = request.FILES.get("file")
    # fp 獲取到的上傳文件對(duì)象
    if fp:
      path = os.path.join(STATICFILES_DIRS[0],'image/' + fp.name)  # 上傳文件本地保存路徑, image是static文件夾下專門存放圖片的文件夾
      # fp.name #文件名
      #yield = fp.chunks() # 流式獲取文件內(nèi)容
      # fp.read() # 直接讀取文件內(nèi)容
      if fp.multiple_chunks():  # 判斷上傳文件大于2.5MB的大文件
        # 為真
        file_yield = fp.chunks()  # 迭代寫入文件
        with open(path,'wb') as f:
          for buf in file_yield:   # for情況執(zhí)行無(wú)誤才執(zhí)行 else
            f.write(buf)
          else:
            print("大文件上傳完畢")
      else:
        with open(path,'wb') as f:
          f.write(fp.read())
        print("小文件上傳完畢")
      models.ImgPath.objects.create(path=('image/' + fp.name))   # image是static文件夾下專門存放圖片的文件夾
    else:
      error = "文件上傳為空"
      return render(request,"helloapp/pic_upload.html",locals())
    return redirect("helloapp/pic_index/") # 重定向到首頁(yè)

3.做個(gè)圖片展示的頁(yè)面,對(duì)圖片展示對(duì)應(yīng)的接口傳過來的參數(shù)加以判斷

   {% for img in imgs %}
   <img src="{% static img.path %}">
   {% empty %}
   <h1>您沒有上傳任何圖片</h1>
   {% endfor %}

4.圖片展示的接口:

def pic_index(request):
  imgs = models.ImgPath.objects.all()
  return render(request,'helloapp/pic_index.html',locals())

至此,Django中一個(gè)簡(jiǎn)單的圖片上傳到展示就做好了

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于python實(shí)現(xiàn)聊天室程序

    基于python實(shí)現(xiàn)聊天室程序

    這篇文章主要為大家詳細(xì)介紹了基于python實(shí)現(xiàn)聊天室程序,該程序由客戶端與服務(wù)器構(gòu)成,使用UDP服務(wù),實(shí)現(xiàn)了群發(fā)、私發(fā)、點(diǎn)對(duì)點(diǎn)文件互傳功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Django與數(shù)據(jù)庫(kù)交互的實(shí)現(xiàn)

    Django與數(shù)據(jù)庫(kù)交互的實(shí)現(xiàn)

    最近在學(xué)習(xí)Django,本文主要介紹了Django與數(shù)據(jù)庫(kù)交互的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • python如何建立全零數(shù)組

    python如何建立全零數(shù)組

    在本篇內(nèi)容里小編給大家分享了關(guān)于python建立全零數(shù)組的方法,需要的朋友們跟著學(xué)習(xí)下吧。
    2020-07-07
  • 如何使用?Python?Pandas?更新行和列

    如何使用?Python?Pandas?更新行和列

    這篇文章主要介紹了使用?Python?Pandas?更新行和列的方法,在整篇文章中,我們將使用我們現(xiàn)在要?jiǎng)?chuàng)建的數(shù)據(jù)框,這將使大家了解更新數(shù)據(jù)操作,在此之后,大家可以將這些方法應(yīng)用于自己的數(shù)據(jù),需要的朋友可以參考下
    2023-03-03
  • Python進(jìn)行數(shù)據(jù)提取的方法總結(jié)

    Python進(jìn)行數(shù)據(jù)提取的方法總結(jié)

    數(shù)據(jù)提取是分析師日常工作中經(jīng)常遇到的需求。如某個(gè)用戶的貸款金額,某個(gè)月或季度的利息總收入,某個(gè)特定時(shí)間段的貸款金額和筆數(shù),大于5000元的貸款數(shù)量等等。本篇文章介紹如何通過python按特定的維度或條件對(duì)數(shù)據(jù)進(jìn)行提取,完成數(shù)據(jù)提取需求。
    2016-08-08
  • Python列表常見操作詳解(獲取,增加,刪除,修改,排序等)

    Python列表常見操作詳解(獲取,增加,刪除,修改,排序等)

    這篇文章主要介紹了Python列表常見操作,結(jié)合實(shí)例形式總結(jié)分析了Python列表常見的獲取、增加、刪除、修改、排序、計(jì)算等相關(guān)操作技巧,需要的朋友可以參考下
    2019-02-02
  • Python利用字典破解WIFI密碼的方法

    Python利用字典破解WIFI密碼的方法

    今天小編就為大家分享一篇關(guān)于Python利用字典破解WIFI密碼的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • conda創(chuàng)建pytorch環(huán)境報(bào)錯(cuò)

    conda創(chuàng)建pytorch環(huán)境報(bào)錯(cuò)

    這篇文章主要介紹了conda創(chuàng)建pytorch環(huán)境報(bào)錯(cuò),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • 解決pycharm下os.system執(zhí)行命令返回有中文亂碼的問題

    解決pycharm下os.system執(zhí)行命令返回有中文亂碼的問題

    今天小編就為大家分享一篇解決pycharm下os.system執(zhí)行命令返回有中文亂碼的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python調(diào)用C++程序的方法詳解

    Python調(diào)用C++程序的方法詳解

    這篇文章主要介紹了Python調(diào)用C++程序的方法,文中通過示例代碼介紹的詳細(xì),相信對(duì)大家具有一定的參考借鑒價(jià)值,需要的朋友們下面來一起看看吧。
    2017-01-01

最新評(píng)論

通化市| 黑龙江省| 北票市| 霍山县| 黔江区| 荣成市| 普洱| 蒙自县| 镶黄旗| 藁城市| 威远县| 响水县| 永泰县| 齐齐哈尔市| 任丘市| 怀宁县| 金山区| 宁陵县| 阳江市| 嘉善县| 伊春市| 贡嘎县| 甘孜县| 庆安县| 荔波县| 昭平县| 佛教| 久治县| 商河县| 收藏| 巴林左旗| 和顺县| 修武县| 黎平县| 化德县| 涟源市| 镇康县| 威宁| 武邑县| 富民县| 武定县|