首頁(yè)技術(shù)文章正文

django文件上傳

更新時(shí)間:2018-08-09 來源:黑馬程序員 瀏覽量:

1、model中定義屬性類型為models.ImageField類型
pic=models.ImageField(upload_to='images/upload/')

2、如果屬性類型為ImageField需要安裝包Pilow
pip install Pillow==3.4.1

3、圖片存儲(chǔ)路徑
1、在項(xiàng)目根目錄下創(chuàng)建static文件夾

2、圖片上傳后,會(huì)被保存到“/static/images/upload/圖片文件”

3、打開settings.py文件,增加media_root項(xiàng)
MEDIA_ROOT=os.path.join(BASE_DIR,"static")

4、使用django后臺(tái)管理,遇到ImageField類型的屬性會(huì)出現(xiàn)一個(gè)file框,完成文件上傳

5、實(shí)例:
<html>
<head>
<title>文件上傳</title>
</head>
<body>
<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>
</body>
</html>

#-------------后臺(tái)view接收處理
def upload(request):
if request.method == "POST":
f1 = request.FILES['pic']
fname = '/static/images/upload/%s' % f1.name
with open(fname, 'w') as pic:
for c in f1.chunks():
pic.write(c)
return HttpResponse("ok")
else:
return HttpResponse("error")



作者:黑馬程序員人工智能+python培訓(xùn)學(xué)院
首發(fā):http://python.itheima.com/

分享到:

Java培訓(xùn)班課程javaee

Python培訓(xùn)機(jī)構(gòu)python大數(shù)據(jù)

web前端培訓(xùn)課程升級(jí)V8.5web

AI+設(shè)計(jì)培訓(xùn)課程ui

大數(shù)據(jù)培訓(xùn)課程cloud

軟件測(cè)試培訓(xùn)課程test

c

新媒體運(yùn)營(yíng)培訓(xùn)netmarket

產(chǎn)品經(jīng)理培訓(xùn)課程pm

linux培訓(xùn)Linux

movies

智能機(jī)器人培訓(xùn)robot

電商視覺設(shè)計(jì)課程uids

AI

集成電路應(yīng)用開發(fā)(嵌入式)培訓(xùn)課程jdbc

在線咨詢 我要報(bào)名
和我們?cè)诰€交談!