Diciamo che sto utilizzando il modello di Django sito:Come si costruisce un modulo Django con oggetti modello in un widget Seleziona?
class Site(models.Model):
name = models.CharField(max_length=50)
miei valori del sito sono (chiave, valore):
1. Stackoverflow
2. Serverfault
3. Superuser
Voglio costruire un modulo con un widget di selezione HTML con il valori di cui sopra:
<select>
<option value="1">Stackoverflow</option>
<option value="2">Serverfault</option>
<option value="3">Superuser</option>
</select>
sto pensando di iniziare con il seguente codice, ma è incompleta:
class SiteForm(forms.Form):
site = forms.IntegerField(widget=forms.Select())
Qualche idea su come ottenerlo con la forma di Django?
EDIT
pagine diverse presenteranno diversi valori del sito. Una pagina di sviluppo mostrerà i siti di sviluppo mentre una pagina di cottura mostrerà i siti di ricette. Fondamentalmente voglio popolare in modo dinamico le scelte del widget in base alla vista. Credo di poterlo realizzare al momento generando manualmente il codice HTML nel modello.
Posso specificare il set di query nella vista? –
Come in, fornire il 'QuerySet' da usare ogni volta che si istanzia il' Form'? Non ne sono sicuro. Se le tue possibilità sono limitate, sembra abbastanza semplice fornire una sottoclasse 'Form' su misura per la vista specifica che stai usando, ad esempio' DeveloperSitesForm', 'EndUserSitesForm', ecc. –
Sono stato in grado di farlo dal codice in quella domanda: http://stackoverflow.com/questions/622982/dango-passing-custom-form-parameters-to-formset –