2012-11-06 7 views
20

Come aggiungere verbose_name ai moduli in Django?Come aggiungere verbose_name ai moduli

In forms.py:

class SendOrderForm(forms.Form): 
    send_option = forms.ModelChoiceField(queryset=Send.objects.all(), verbose_name="Send Options") 

Questo non è corretto

risposta

36

credo, label argument è quello che vi serve:

class SendOrderForm(forms.Form): 
    send_option = forms.ModelChoiceField(queryset=Send.objects.all(), label="Send Options") 
+2

Come forzare etichetta da usare verbose_name di default da modello? – andi

+0

posso specificare le etichette, ma poi ho bisogno di specificare i widget e non so come mappare i campi del modello di widget automaticamente: classe MyForm (ModelForm): Meta classe: modello = Profilo campi = [ 'first_name' , 'last_name'] etichette = {} widget = {} per il campo in Meta.fields: se il campo non in Meta.labels: Meta.labels [campo] = Meta.model._meta.get_field (campo) .verbose_name.title() se il campo non è in Meta.widgets: Meta.widgets [campo] = forms.TextInput (attrs = {'classe': 'form-control'}) –

+0

Hey davvero utile, c per favore dimmi ancora una volta come cambiare il nome del filtro Multichoice come se il campo fosse ** studente_result ** quindi attualmente il titolo del filtro sta mostrando ** Available StudentResult ** Voglio cambiare quel nome. Grazie è anticipo – Avi

Problemi correlati