2016-10-18 13 views
2
私はジャンゴで画像をアップロードしています

でそれをリサイズし、私は私がしたい、この画像をアップロードしている間、それは 画像をアップロードした場合のサイズと形式を検証し、ジャンゴ

class CreateEventStepFirstForm(forms.Form): 
    user_image = forms.ImageField(required = True, widget=forms.FileInput(attrs={ 
     'class' : 'upload-img', 
     'data-empty-message':'Please upload artist image, this field is required' 
    })) 

forms.py

でフォーマット・サイズだ検証します最初にフォーマットを検証すると、ユーザーはPNGとJPEG画像をアップロードすることができ、画像は700 * 500次元までアップロードする必要があります。画像がこの寸法よりも小さい場合、このフォームは検証されません。 1200 * 1000ピクセルより大きい場合、イメージの品質に影響を与えることなくイメージを700 * 500にサイズ変更する必要があります。私は、ファイルをアップロードするために使用しています

ビューは次のとおりです。 -

def create_new_event(request, steps): 
    if request.method == 'POST': 
     stepFirstForm = CreateEventStepFirstForm(request.POST, request.FILES) 
     if stepFirstForm.is_valid(): 

      myfile = request.FILES['user_image'] 
      fs = FileSystemStorage() 
      filename = fs.save('event_artists_images/'+myfile.name, myfile) 
      uploaded_file_url = fs.url(filename) 

     return render(request, 'home/create-new-event.html', {'stepFirstForm':stepFirstForm}) 
+0

ピクセルサイズを取得している場合は、すでにファイルを開いています。フィルタは 'ext'>' file_size'> 'pixel_size'です。 – dsgdfg

答えて

0

独自のカスタムバリデータを書き込むことを確認する必要があります。 documentation

これらの値をチェックするバリデーターを作成したら、いくつかの方法でフォームにアタッチすることができます。

関連する問題