Django中怎么實(shí)現(xiàn)文件上傳與下載功能,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
首先是上傳:
#settings.py
MEDIA_ROOT = HERE#定義一個(gè)完整路徑給 MEDIA_ROOT 以便讓 Django在此處保存上傳文件
MEDIA_URL = 'media'#定義 MEDIA_URL 作為該目錄的公共 URL,要確保該目錄對(duì) WEB 服務(wù)器用戶帳號(hào)是可寫的
#model.py #coding=utf-8 from django.db import models class User(models.Model): username = models.CharField(max_length = 30) headImg = models.FileField(upload_to = 'update/%Y%m%d') def __unicode__(self): return self.username
#view.py #coding=utf-8 from django.shortcuts import render_to_response from django import forms from django.http import HttpResponse from django.template import RequestContext from disk.models import User # Create your views here. class UserForm(forms.Form): username = forms.CharField() headImg = forms.FileField() def register(request): if request.method == "POST": uf = UserForm(request.POST, request.FILES) if uf.is_valid(): #獲取表單信息 username = uf.cleaned_data['username'] headImg = uf.cleaned_data['headImg'] #寫入數(shù)據(jù)庫(kù) user = User() user.username = username user.headImg = headImg user.save() return HttpResponse('upload ok!') else: uf = UserForm() ur= User.objects.order_by('id') return render_to_response('register.html',{'uf':uf}, context_instance=RequestContext(request))
前臺(tái)使用{{uf.as_ul}}來展示form,如下:
#register.html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title></title> </head> <a href="update/20140711/005zEPW4jw1eg3js7sil3g30500824al.gif" rel="external nofollow" >gao</a> <body> <h2>register</h2> <form method="post" enctype="multipart/form-data" > {% csrf_token %} {{uf.as_ul}} <input type="submit" value="ok" /> </form> </body> </html>
上傳成功!
數(shù)據(jù)庫(kù)中是這么個(gè)情況:
接下來是下載
我的文件目錄是:
要想下載你首先要知道,你上傳的東西到了哪個(gè)目錄,涉及到兩個(gè)地方:
MEDIA_ROOT = HERE
看完上述內(nèi)容,你們掌握Django中怎么實(shí)現(xiàn)文件上傳與下載功能的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前文章:Django中怎么實(shí)現(xiàn)文件上傳與下載功能-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://www.rwnh.cn/article18/dosgdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站制作、用戶體驗(yàn)、域名注冊(cè)、網(wǎng)站改版、網(wǎng)站營(yíng)銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容