1. 程式人生 > >Django中實用imageField實現圖片上傳

Django中實用imageField實現圖片上傳

首先需要在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