From cd394a246aa32e5ce15b0643203b7bfdeb703eb6 Mon Sep 17 00:00:00 2001 From: Adrian Holovaty Date: Sun, 17 Dec 2006 19:04:03 +0000 Subject: [PATCH] Fixed #3153 -- newforms 'label' argument now can contain wacky characters. Thanks, dswistowski git-svn-id: http://code.djangoproject.com/svn/django/trunk@4223 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/newforms/fields.py | 2 ++ tests/regressiontests/forms/tests.py | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/django/newforms/fields.py b/django/newforms/fields.py index a32018e108..ec3b7fc318 100644 --- a/django/newforms/fields.py +++ b/django/newforms/fields.py @@ -34,6 +34,8 @@ class Field(object): creation_counter = 0 def __init__(self, required=True, widget=None, label=None): + if label is not None: + label = smart_unicode(label) self.required, self.label = required, label widget = widget or self.widget if isinstance(widget, type): diff --git a/tests/regressiontests/forms/tests.py b/tests/regressiontests/forms/tests.py index 058a3d8958..474d4a20ae 100644 --- a/tests/regressiontests/forms/tests.py +++ b/tests/regressiontests/forms/tests.py @@ -2062,6 +2062,14 @@ underscores converted to spaces, and the initial letter capitalized.
  • Password1:
  • Password (again):
  • +A label can be a Unicode object or a bytestring with special characters. +>>> class UserRegistration(Form): +... username = CharField(max_length=10, label='ŠĐĆŽćžšđ') +... password = CharField(widget=PasswordInput, label=u'\u0160\u0110\u0106\u017d\u0107\u017e\u0161\u0111') +>>> p = UserRegistration(auto_id=False) +>>> p.as_ul() +u'
  • \u0160\u0110\u0106\u017d\u0107\u017e\u0161\u0111:
  • \n
  • \u0160\u0110\u0106\u017d\u0107\u017e\u0161\u0111:
  • ' + # Forms with prefixes ######################################################### Sometimes it's necessary to have multiple forms display on the same HTML page,