ho alcuni campi necessari nel mio ModelForm django. Come posso aggiungere una stella rossa (*) dopo i campi richiesti?Come aggiungere una 'stella *' dopo un django ModelForm CharField?
risposta
ho intenzione di assumere si vuole che questo accada automaticamente, quindi ecco uno dei pochi modi diversi:
{% for field in form %}
<label for="{{ field.auto_id }}">{{ field.label_tag }}
{% if field.field.required %}
<span class="required">*</span>
{% endif %}
</label>
{% endfor %}
Quindi è possibile lo stile l'asterisco usando i CSS.
In alternativa, è possibile aggiungere l'asterisco usando i CSS, invece, se si desidera:
<style type="text/css">
span.required:after { content: '*'; }
</style>
{% for field in form %}
<label for="{{ field.auto_id }}">
{% if field.field.required %}
<span class="required">{{ field.label_tag }}</span>
{% else %}
{{ field.label_tag }}
{% endif %}
</label>
{% endfor %}
Questa è probabilmente una scelta migliore se si vuole fare altre cose con il campo richiesto pure.
Tuttavia, se non sarà di accesso a campi singolarmente (come l'utilizzo di {{form.as_p}}), quindi è possibile aggiungere una proprietà alla ModelForm:
class FooForm(forms.ModelForm):
required_css_class = 'required'
che definirà tutti i campi che sono richiesti come aventi la classe 'richiesta' (e quindi, puoi usare il codice CSS di cui sopra per aggiungere un asterisco (o qualsiasi altra cosa tu voglia fare)
Puoi anche usare jQuery
in ordine per selezionare l'etichetta o aggiungerla
per esempio, se si dispone di questo modulo bootstrap
<form class="form-horizontal">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="inputEmail3" required="required">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Password</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="inputPassword3">
</div>
</div>
</form>
Poi, se si desidera aggiungere la stella per i campi obbligatori.
$('input,textarea,select').filter('[required]').parent().parent().find("label").append("*");
Inoltre si consiglia di specificare una classe per i campi obbligatori etichette in modo è possibile farli in grassetto o qualcosa
$('input,textarea,select').filter('[required]:visible').parent().parent().find("label").addClass("required_label");
- 1. Django ModelForm
- 2. Django CharField vs TextField
- 3. Come aggiungo un segnaposto su un CharField in Django?
- 4. Django: CharField con lunghezza fissa, come?
- 5. Django ORM, CharField e vuoto = True
- 6. Controllo Django ModelForm uscita
- 7. Case non classificate Charfield in modelli Django
- 8. Django ModelForm Validation
- 9. Django ModelForm Imagefield Upload
- 10. Django aggiorna un campo utilizzando ModelForm
- 11. Django ModelForm not calling clean
- 12. Django ModelForm non richiesto campo
- 13. django model CharField: max_length non funziona?
- 14. django model/modelForm - Come ottenere scelte dinamiche in choiceField?
- 15. aggiungere il campo in più per ModelForm
- 16. Django e fieldset su ModelForm
- 17. ModelForm con OneToOneField in Django
- 18. Utilizzo di request.user con Django ModelForm
- 19. Come utilizzare la richiesta in un ModelForm in Django
- 20. Django, aggiornamento di un profilo utente con un ModelForm
- 21. Principiante: Django ModelForm sostituisce il widget
- 22. Verifica se Django ModelForm ha istanza
- 23. Amministratore di Django come Inline nel mio ModelForm
- 24. Salvataggio di Django ModelForm con ForeignKey
- 25. aumento Charfield
- 26. Ottieni la chiave primaria dopo aver salvato un ModelForm in Django
- 27. Caricamento immagine profilo con Django ModelForm
- 28. Django TextField validazione max_length per ModelForm
- 29. Django Imagefield non funziona correttamente tramite ModelForm
- 30. Sovrascrivere il valore iniziale in ModelForm
sto usando {{}} form.as_p nel mio modello e ho non posso accedere ai campi obbligatori nel modo in cui hai scritto C'è un modo per personalizzare un blocco html dopo alcuni campi in ModelForm? – Kozet
@Kozet: {{form.as_p}} va bene se sei felice dell'HTML che genera, ma se vuoi modificarlo devi scrivere il tuo modulo HTML con ogni campo individualmente. –
@ Kozet: modificato la mia risposta per la vostra situazione. – JoeLinux