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

{{ theform.phone }} 

Dies ist, was ich in meinen Vorlagen mache.Wie füge ich ein zusätzliches Attribut in meine Eingabe für Django-Formulare ein?

Was aber, wenn ich placeholder="Username" zum Eingabetextfeld hinzufügen möchte? (Custom Attribut)

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

"Platzhalter =" Benutzername "auf das Eingabetextfeld?" Sprechen Sie über das Ändern des HTML, das erstellt wird? Wenn ja, können Sie ein konkretes Beispiel dafür angeben, was der HTML-Code sein soll? Wenn nicht, können Sie Ihre Frage klären? –

+0

Ja, den erstellten HTML-Code ändern. – TIMEX

+1

Sie nicht, es ist Django, Sie tun, was es Ihnen sagt ... – jondavidjohn

Antwort

7

Fügen Sie das attrs Schlüsselwort-Argument zu Ihrem Feld Konstruktor widget und schließen schreiben Sie Ihre Attribut dort:

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

Wenn Sie es in Aktion sehen möchten, werfen Sie einen Blick auf django-registration's forms.py.

4

Alternativ können Sie die http://pypi.python.org/pypi/django-widget-tweaks App verwenden:

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

Das wird nur den Variablennamen selbst ausdrucken ("Benutzername") und nicht den Benutzernamen, nicht? – Anupam

Verwandte Themen