創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)主營南京網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā)公司,南京h5小程序設(shè)計(jì)搭建,南京網(wǎng)站營銷推廣歡迎南京等地區(qū)企業(yè)咨詢小編給大家分享一下在Django中使用圖片的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
1.首先是html頁面的form表單的三大屬性,action是提交到哪,method是提交方式,enctype只要有圖片上傳就要加這個(gè)屬性
Django框架自帶csrf_token ,所以需要在前端頁面也生成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 獲取到的上傳文件對象 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í)行無誤才執(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/") # 重定向到首頁
3.做個(gè)圖片展示的頁面,對圖片展示對應(yīng)的接口傳過來的參數(shù)加以判斷
{% for img in imgs %} <img src="{% static img.path %}"> {% empty %} <h2>您沒有上傳任何圖片</h2> {% endfor %}
4.圖片展示的接口:
def pic_index(request): imgs = models.ImgPath.objects.all() return render(request,'helloapp/pic_index.html',locals())
至此,Django中一個(gè)簡單的圖片上傳到展示就做好了。
看完了這篇文章,相信你對在Django中使用圖片的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
分享題目:在Django中使用圖片的方法-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://muchs.cn/article42/cddiec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站建設(shè)、品牌網(wǎng)站制作、品牌網(wǎng)站建設(shè)、用戶體驗(yàn)、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容