supercaptcha is easy to use captcha field for django
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 mess
All you need, to get captcha working is properly configured cache backend and a route:
url(r'^captcha/(?P<code>[\da-f]{32})/$', 'supercaptcha.draw')
And PIL
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 'no 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
defines if CaptchaField should show refresh link, default is False
defines text of refresh link
defines template of CaptchaField, see example in settings
defines template of CaptchaField with refresh link, see example in settings