supercaptcha is easy to use captcha field for django newforms
class MySuperForm(forms.Form):
...
captcha = supercaptcha.CaptchaField(label=u'no robots here')
...
You don't need any changes in form, or middleware or context processor or other boring things.
All you need, to get captcha working is properly configured cache backend and view added to urlconf:
url(r'^captcha/(?P<code>[\da-f]{32})/$', 'supercaptcha.draw')
And, surely, PIL library installed.
All these options should be used in settings of your project
string with all symbols, which should be used in captcha, default is '123456789ABCDEFGHJKLMNPQRSTVXYZ'
length if captcha code, default is 6
the tuple of tuples with name - fullpath pair for each font which should be used
tuple of tuples with colors for text. use one if if you want single color, for example ((0,0,0),) for black color
whould we use different colors for each symbol default is True
background color, deafult is (255, 255, 255)
PIL filters, for example ('BLUR', 'SHARPEN',) default is []
defines if letters should "jump", default is True
tuple defining size of captcha image, default is (200, 100)
"alt" for image tag, default is 'not robots here'
controls which format will be used for image encoding, default is ('JPEG', 'image/jpeg')
defines which prefix should supercaptcha use for dealing with cache, default is 'captcha'
defines default error message for wrong code