2010-08-11 15 views
7

Ich mache eine App, die ein Dateinamensfeld, ein Upload-Dateifeld und eine Auswahl hat. Lets sagen, dass ich für die selectDjango Optionen auswählen

so etwas wie dieses haben
<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" /> 

Ich habe

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

Wie sollte die Klasse Look mit dem select hinzugefügt, um es der Upload einer Datei mit dieser Klasse zu arbeiten? Oder wie kann ich das Datei-Upload-Formular verwenden und den Wert aus der Auswahl abrufen und basierend auf diesem Wert eine Aktion ausführen?

Antwort

12

Sie benötigen einen ChoiceField zu verwenden:

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 so django ein Auswahlfeld hatte, nachdem alle :) Thx viel m8. Grüße void, – void

+0

Link oben ist kaputt, aber es scheint, dass die aktuelle Lösung ist der "Auswahl" Parameter in einem "CharField", docs [hier] (https://docs.djangoproject.com/en/1.10/ref/models/Felder/# Auswahlmöglichkeiten) – shadi

Verwandte Themen