turns out there is a problem, the field looks for "://" anywhere on the value but according to the RFC the colon is allowed on paths, so an url like '
www.example.com/://' should validate and it fails:
Python 2.6.4 (r264:75706, Jan 25 2010, 08:55:26)
[GCC 4.4.2 20091208 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> import django
>>> django.VERSION
(1, 2, 1, 'final', 0)
>>> from django import forms
>>> class MyForm(forms.Form):
... url = forms.URLField()
...
>>> form = MyForm({'url': '
www.example.com/http://foo/bar/'})
>>> form.is_valid()
False
http://www.rfc-ref.org/RFC-TEXTS/3986/chapter3.html#sub3