Django中實用imageField實現圖片上傳
阿新 • • 發佈:2019-02-01
首先需要在settings.py中設定media_root,假設如下:
MEDIA_ROOT = ‘/home/myname/files/
然後設定imageFiled的時候指定upload_to屬性,可以是相對路徑,也可以是一個方法(便於獲得動態儲存路徑)
我的設定如下:
image_path = models.ImageField(upload_to='images',max_length=255)
注意,這裡是images,而不是/images,前者圖片將被上傳到/home/myname/files/images目錄下,而後者則直接存放在/images頂級目錄下
假如我們上傳的檔名叫a.png,則實際存放路徑為 /home/myname/files/images/a.png
最後如果要手動上傳檔案,則可以參考如下程式碼:
from django.core.files.base import ContentFile def save_file(request): mymodel = MyModel.objects.get(id=1) file_content = ContentFile(request.FILES['video'].read()) mymodel.video.save(request.FILES['video'].name, file_content) Read more: http://www.nitinh.com/2009/02/django-example-filefield-and-imagefield/#ixzz1bQoHFUxp