Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

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
  • Loading branch information...
commit 6245816dd90b8b0b9b8739f1fc292547a1a55639 1 parent 41078ce
@adrianholovaty adrianholovaty authored
Showing with 18 additions and 1 deletion.
  1. +1 −0  django/newforms/forms.py
  2. +17 −1 tests/regressiontests/forms/tests.py
View
1  django/newforms/forms.py
@@ -218,6 +218,7 @@ def __init__(self, form, field, name):
self.label = pretty_name(name)
else:
self.label = self.field.label
+ self.help_text = field.help_text
def __unicode__(self):
"Renders this field as an HTML widget."
View
18 tests/regressiontests/forms/tests.py
@@ -2936,7 +2936,7 @@
# Some ideas for using templates with forms ###################################
>>> 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)
... password2 = CharField(widget=PasswordInput)
... def clean(self):
@@ -3013,6 +3013,22 @@
<input type="submit" />
</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
attributes to add to the <label> tag.
>>> f = UserRegistration(auto_id='id_%s')
Please sign in to comment.
Something went wrong with that request. Please try again.