PuzzleCaptcha: Simplified Math CAPTCHA Using Pillow Image Library
- Easy integration with Django projects
- Use pillow & numpy to generate image
- Customizable configuration
pip install django-puzzlecaptcha
Add puzzlecaptcha
to your INSTALLED_APPS
:
INSTALLED_APPS = [
...
'puzzlecaptcha',
...
]
In your settings.py
, you can customize the puzzlecaptcha behavior:
PUZZLECAPTCHA = {
"CAPTCHA_FONT_SIZE": 35,
"CAPTCHA_IMAGE_SIZE": (150, 50),
"CAPTCHA_NOISE_LINES": 20,
"CAPTCHA_NOISE_LINES_WIDTH": 2,
"CAPTCHA_NOISE_COLOR": "black",
"CAPTCHA_FOREGROUND_COLOR": "black",
"CAPTCHA_BACKGROUND_COLOR": "white",
"CAPTCHA_CACHE_PREFIX": "puzzlecaptcha",
"CAPTCHA_CACHE_BACKEND": "default",
"CAPTCHA_TIMEOUT": 300,
}
In your project's urls.py
:
from puzzlecaptcha.forms import AdminAuthenticationForm
admin.site.login_form = AdminAuthenticationForm
admin.site.login_template = 'puzzlecaptcha/admin_login.html'
urlpatterns = [
path("admin/", admin.site.urls),
....
]
from puzzlecaptcha.field import MathCaptchaField
class AuthenticationForm(form.Form):
captcha = MathCaptchaField()
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License
If you encounter any issues or have questions, please open an issue on GitHub.