2010-08-11 22 views
7

Estoy haciendo una aplicación que tiene un campo de nombre de archivo, un campo de archivo de carga y una selección. Digamos que tengo algo como esto para el selectoDjango seleccione opciones

<select name="menu"> 
    <option value="0" selected> select imp </option> 
    <option value="1"> imp 1 </option> 
    <option value="2"> imp 2 </option> 
    <option value="3"> imp 3 </option> 
    <option value="4"> imp 4 </option> 
</select> 
<input type="submit" value="Upload" /> 

He la carga de archivos trabajar con esta clase

class UploadFileForm(forms.Form): 
    title = forms.CharField(max_length=50) 
    file = forms.FileField(widget=forms.FileInput()) 

¿Cómo debe el aspecto clase con el selecto agregado a él? ¿O cómo puedo usar el formulario de carga de archivos y obtener el valor de la selección y, en base a ese valor, hacer una acción?

Respuesta

12

Es necesario utilizar un ChoiceField:

IMP_CHOICES = (
    ('1', 'imp 1'), 
    ('2', 'imp 2'), 
    ('3', 'imp 3'), 
    ('4', 'imp 4'), 
) 

class UploadFileForm(forms.Form): 
    title = forms.CharField(max_length=50) 
    file = forms.FileField(widget=forms.FileInput()) 
    imp = forms.ChoiceField(choices=IMP_CHOICES) 
+0

Ahh por lo Django tenían un campo de opción después de todo :) Thx M8 mucho. Recuerdos nulos, – void

+0

El enlace anterior está roto, pero parece que la solución actual es el parámetro "opciones" en un "CharField", documentos [aquí] (https://docs.djangoproject.com/en/1.10/ref/modelos/campos/# opciones) – shadi

Cuestiones relacionadas