Fixed #3456 -- Made it easier/more intuitive to render newforms help_text in templates
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4521 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
41078ce146
commit
6245816dd9
|
@ -218,6 +218,7 @@ class BoundField(StrAndUnicode):
|
||||||
self.label = pretty_name(name)
|
self.label = pretty_name(name)
|
||||||
else:
|
else:
|
||||||
self.label = self.field.label
|
self.label = self.field.label
|
||||||
|
self.help_text = field.help_text
|
||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
"Renders this field as an HTML widget."
|
"Renders this field as an HTML widget."
|
||||||
|
|
|
@ -2936,7 +2936,7 @@ VALID: {'username': u'adrian', 'password1': u'secret', 'password2': u'secret'}
|
||||||
# Some ideas for using templates with forms ###################################
|
# Some ideas for using templates with forms ###################################
|
||||||
|
|
||||||
>>> class UserRegistration(Form):
|
>>> class UserRegistration(Form):
|
||||||
... username = CharField(max_length=10)
|
... username = CharField(max_length=10, help_text="Good luck picking a username that doesn't already exist.")
|
||||||
... password1 = CharField(widget=PasswordInput)
|
... password1 = CharField(widget=PasswordInput)
|
||||||
... password2 = CharField(widget=PasswordInput)
|
... password2 = CharField(widget=PasswordInput)
|
||||||
... def clean(self):
|
... def clean(self):
|
||||||
|
@ -3013,6 +3013,22 @@ field an "id" attribute.
|
||||||
<input type="submit" />
|
<input type="submit" />
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
User form.[field].help_text to output a field's help text. If the given field
|
||||||
|
does not have help text, nothing will be output.
|
||||||
|
>>> t = Template('''<form action="">
|
||||||
|
... <p>{{ form.username.label_tag }}: {{ form.username }}<br />{{ form.username.help_text }}</p>
|
||||||
|
... <p>{{ form.password1.label_tag }}: {{ form.password1 }}</p>
|
||||||
|
... <p>{{ form.password2.label_tag }}: {{ form.password2 }}</p>
|
||||||
|
... <input type="submit" />
|
||||||
|
... </form>''')
|
||||||
|
>>> print t.render(Context({'form': UserRegistration(auto_id=False)}))
|
||||||
|
<form action="">
|
||||||
|
<p>Username: <input type="text" name="username" maxlength="10" /><br />Good luck picking a username that doesn't already exist.</p>
|
||||||
|
<p>Password1: <input type="password" name="password1" /></p>
|
||||||
|
<p>Password2: <input type="password" name="password2" /></p>
|
||||||
|
<input type="submit" />
|
||||||
|
</form>
|
||||||
|
|
||||||
The label_tag() method takes an optional attrs argument: a dictionary of HTML
|
The label_tag() method takes an optional attrs argument: a dictionary of HTML
|
||||||
attributes to add to the <label> tag.
|
attributes to add to the <label> tag.
|
||||||
>>> f = UserRegistration(auto_id='id_%s')
|
>>> f = UserRegistration(auto_id='id_%s')
|
||||||
|
|
Loading…
Reference in New Issue