Loading django/forms/fields.py +2 −1 Original line number Diff line number Diff line Loading @@ -583,6 +583,7 @@ class URLField(CharField): self.validators.append(validators.URLValidator(verify_exists=verify_exists, validator_user_agent=validator_user_agent)) def to_python(self, value): value = super(URLField, self).to_python(value) if value: url_fields = list(urlparse.urlsplit(value)) if not url_fields[0]: Loading @@ -601,7 +602,7 @@ class URLField(CharField): # the path portion may need to be added before query params url_fields[2] = '/' value = urlparse.urlunsplit(url_fields) return super(URLField, self).to_python(value) return value class BooleanField(Field): widget = CheckboxInput Loading tests/regressiontests/forms/tests/fields.py +4 −0 Original line number Diff line number Diff line Loading @@ -686,6 +686,10 @@ class FieldsTests(SimpleTestCase): url = u'http://t\xfcr.djangoproject.com/' self.assertEqual(url, f.clean(url)) def test_urlfield_not_string(self): f = URLField(required=False) self.assertRaisesMessage(ValidationError, "[u'Enter a valid URL.']", f.clean, 23) # BooleanField ################################################################ def test_booleanfield_1(self): Loading Loading
django/forms/fields.py +2 −1 Original line number Diff line number Diff line Loading @@ -583,6 +583,7 @@ class URLField(CharField): self.validators.append(validators.URLValidator(verify_exists=verify_exists, validator_user_agent=validator_user_agent)) def to_python(self, value): value = super(URLField, self).to_python(value) if value: url_fields = list(urlparse.urlsplit(value)) if not url_fields[0]: Loading @@ -601,7 +602,7 @@ class URLField(CharField): # the path portion may need to be added before query params url_fields[2] = '/' value = urlparse.urlunsplit(url_fields) return super(URLField, self).to_python(value) return value class BooleanField(Field): widget = CheckboxInput Loading
tests/regressiontests/forms/tests/fields.py +4 −0 Original line number Diff line number Diff line Loading @@ -686,6 +686,10 @@ class FieldsTests(SimpleTestCase): url = u'http://t\xfcr.djangoproject.com/' self.assertEqual(url, f.clean(url)) def test_urlfield_not_string(self): f = URLField(required=False) self.assertRaisesMessage(ValidationError, "[u'Enter a valid URL.']", f.clean, 23) # BooleanField ################################################################ def test_booleanfield_1(self): Loading