¿Subclasificar el widget del formulario fileField de django?

La carga funciona bien, pero el problema es que me gustaría filtrar todos los tipos de archivos que no son necesarios. Lo sé con html, puedes usar algo como:

<input type="file" name="file" accept="image/*" id="file"> <input type="submit" name="submit" value="Upload Image!">

y en este caso, esto le dice al navegador que solo muestre archivos de imagen en el cuadro de diálogo de archivo.

No puedo entender cómo puedo agregar accept="image/*" al widget de Django.

¡Cualquier ayuda es bienvenida!

preguntado el 22 de mayo de 12 a las 20:05

1 Respuestas

Puedes cambiar esto con el widget attrs como se documenta aquí: https://docs.djangoproject.com/en/1.3/ref/forms/widgets/#django.forms.Widget.attrs

from django import forms

class MyForm(forms.Form):    
    my_file = forms.FileField()

    def __init__(self, *args, **kwargs):
        super(MyForm, self).__init__(*args, **kwargs)
        self.fields['my_file'].widget.attrs.update({'accept': 'image/*'})

O puedes usar algo como Ajustes de widget de django para hacer esto con una etiqueta de plantilla.

contestado el 22 de mayo de 12 a las 20:05

self.fields['my_file'].widget.attrs=({'accept': 'image/*'}) funciona, gracias de nuevo! - user1411002

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.