2016-10-18 5 views
2

ich ein Bild in django bin das Hochladen, ich will es Format und Größe in forms.pydie Größe und das Format überprüfen, ob Bild hochgeladen und die Größe es in django

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' 
    })) 

validieren Während dieses Bild will ich das Hochladen auf validieren Sie zuerst sein Format, Form erlaubt Benutzer, png und jpeg Bild nur hochzuladen und auch Benutzer muss ein Bild bis 700 * 500 Maße hochladen, wenn Bild niedriger als diese Maße ist, dann sollte dieses Formular nicht validiert werden, und wenn Bild ist größer als 1200 * 1000 Pixel, in diesem Fall sollte das Bild auf 700 * 500 skaliert werden, ohne die Bildqualität zu beeinträchtigen.

anzeigen i für das Hochladen von Dateien verwende ist: -

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

Datei bereits öffnen, wenn Pixelgröße erhalten. Filter ist 'ext'>' file_size'> 'pixel_size'. – dsgdfg

Antwort

0

Sie auf das Schreiben Ihrer eigenen benutzerdefinierten Validator aussehen sollte. Sie können darüber in der documentation

lesen. Sobald Sie einen Validator erstellt haben, der diese Werte überprüft, können Sie es auf verschiedene Arten an das Formular anhängen.

Verwandte Themen