2013-04-29 62 views
0

對ImageField如何說最大允許寬度是500,只允許* .JPGs?如果在ImageField中無法做到這一點,那麼實現它的方法是什麼?或者應該在html表單上指定它? 在此先感謝在django中上傳圖片的最大允許尺寸和允許的擴展名?

+1

你看過http://stackoverflow.com/questions/6195478/max-image-size-on-file-upload,http://stackoverflow.com/questions/2472422/django-file-upload-size -limit – Rohan 2013-04-29 05:52:02

回答

1

您可以在形式上清潔方法檢查:

def clean_picture(self): 
    # check image weight 
    image = self.cleaned_data['picture'] 
    if image: 
     if image.width > 100: 
      raise forms.ValidationError(_("Selected image is too wide")) 
    return image 

還有height屬性。您可以在ImageField中訪問該文件的名稱,從中獲取擴展名並像我以寬度進行驗證。

+0

是否可以在上傳前檢查此問題? – Acute 2013-04-29 06:44:03

+0

你可以使用js來做到這一點,例如, G。 http://jquerybyexample.blogspot.com/2012/03/how-to-check-file-size-before-uploading.html – szaman 2013-04-30 05:11:02

+0

圖像沒有屬性「寬度」(無論如何,我使用PIL – Acute 2013-04-30 11:06:21