2011-01-06 10 views
6
{{ theform.address }} 

{{ theform.phone }} 

Questo è ciò che faccio nei miei modelli.Come aggiungo un attributo extra nel mio input per i moduli Django?

Tuttavia, cosa succede se voglio aggiungere placeholder="Username" al campo di testo di input? (Attributo personalizzato)

<input type="text" name="address" id="id_address" placeholder="username"/> 
+1

"segnaposto =" nome utente "per il campo di testo di input?" Stai parlando di modificare l'HTML che è stato creato? In tal caso, puoi fornire un esempio reale di ciò che vuoi che sia l'HTML? In caso contrario, puoi chiarire la tua domanda? –

+0

Sì, modifica l'HTML che è stato creato. – TIMEX

+1

non lo fai, è Django, fai quello che ti dice di fare ... – jondavidjohn

risposta

7

aggiungere l'argomento attrs parola chiave per il vostro costruttore di campo widget, e comprendono scrivere l'attributo in là:

address = forms.TextField(widget=forms.TextInput(attrs={'placeholder': 'username'})) 

Se volete vederlo in azione, date un'occhiata a django-registration's forms.py.

4

In alternativa, è possibile utilizzare l'applicazione http://pypi.python.org/pypi/django-widget-tweaks:

{% load widget_tweaks %} 
... 
{{ theform.address|attr:"placeholder:username" }} 
+0

Questo stamperà solo il nome della variabile stessa ("username") e non il nome utente, no? – Anupam

Problemi correlati