-- 上傳圖片
-- 注意點:
1.在輸入框標籤input添加type='file'屬性,且name=''表示鍵;
2.FILES在請求POST,且<form>表單帶有enctype="multipart/form-data"的
屬性時纔可以包含數據;否則FILES爲一個空的類似於字典的對象;
-- 將屬性定義爲models.ImageField類型;(模型類)
pic = models.ImageField(upload_to='cars/')
-- 如果屬性類型爲ImageField需要安裝包Pillow
pip install Pillow==3.4.1
-- 圖片存儲路徑
-- /static/media/cars/圖片文件
-- setting.py文件,增加media_root項;
MEDIA_ROOT = os.path.join(BASE_DIR, 'static/media')
-- 實例
-- views.py
# def uploadHandle(request): # # 獲取圖片的對象 # pic1 = request.FILES['pic1'] # # 拼接圖片所在完整路徑 # picName = os.path.join(settings.MEDIA_ROOT, pic1.name) # # IO操作,chunks()一點點的讀取; # with open(picName, 'w') as pic: # for c in pic1.chunks(): # pic.write(c) # # 返回圖片路徑 # return HttpResponse('<img src="/static/media/%s/">'%pic1.name)
-- urls.py
# url(r'^uploadPic/$', views.uploadPic), # url(r'^uploadHandle/$', views.uploadHandle),
-- uploadPic.html
<form action="/uploadHandle" method="post" # 表單傳遞到/uploadHandle路徑下,同時定義視圖函數uploadHandle讀取返回圖片; enctype="multipart/form-data"> <input type="file" name="pic1"> <br> <input type="submit" name="上傳"> </form>