Django文件上傳與下載(FileFlid)
本文實(shí)例為大家分享了Django文件上傳與下載的具體代碼,供大家參考,具體內(nèi)容如下
Django1.4
首先是上傳:
#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}}來(lái)展示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>
<h1>register</h1>
<form method="post" enctype="multipart/form-data" >
{% csrf_token %}
{{uf.as_ul}}
<input type="submit" value="ok" />
</form>
</body>
</html>
上傳成功!
數(shù)據(jù)庫(kù)中是這么個(gè)情況:

接下來(lái)是下載
我的文件目錄是:

要想下載你首先要知道,你上傳的東西到了哪個(gè)目錄,涉及到兩個(gè)地方:
MEDIA_ROOT = HERE
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python檢查判斷一個(gè)數(shù)是不是另一個(gè)數(shù)的整數(shù)次冪實(shí)例深究
在數(shù)學(xué)和計(jì)算中,確定一個(gè)數(shù)是否為另一個(gè)數(shù)的整數(shù)次冪是一個(gè)常見(jiàn)而重要的問(wèn)題,例如,我們可能需要判斷一個(gè)數(shù)是否是某個(gè)數(shù)的平方、立方或其他冪次,本文將探討在Python中如何實(shí)現(xiàn)這一功能,通過(guò)數(shù)學(xué)方法和算法檢查一個(gè)數(shù)是否是另一個(gè)數(shù)的整數(shù)次冪2023-12-12
在Python中實(shí)現(xiàn)決策樹(shù)算法的示例代碼
決策樹(shù)(Decision Tree)是一種常見(jiàn)的機(jī)器學(xué)習(xí)算法,被廣泛應(yīng)用于分類和回歸任務(wù)中,并且再其之上的隨機(jī)森林和提升樹(shù)等算法一直是表格領(lǐng)域的最佳模型,所以本文將介紹理解其數(shù)學(xué)概念,并在Python中動(dòng)手實(shí)現(xiàn),這可以作為了解這類算法的基礎(chǔ)知識(shí)2023-08-08
python?如何實(shí)現(xiàn)跳過(guò)異常繼續(xù)執(zhí)行
這篇文章主要介紹了python?如何實(shí)現(xiàn)跳過(guò)異常繼續(xù)執(zhí)行,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
Python Pandas實(shí)現(xiàn)數(shù)據(jù)分組求平均值并填充nan的示例
今天小編就為大家分享一篇Python Pandas實(shí)現(xiàn)數(shù)據(jù)分組求平均值并填充nan的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
python內(nèi)置HTTP Server如何實(shí)現(xiàn)及原理解析
這篇文章主要為大家介紹了python內(nèi)置HTTP Server如何實(shí)現(xiàn)及原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11

