Skip to content

SSB-054/django-puzzlecaptcha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

django-puzzlecaptcha

PuzzleCaptcha: Simplified Math CAPTCHA Using Pillow Image Library

Preview

Features

  • Easy integration with Django projects
  • Use pillow & numpy to generate image
  • Customizable configuration

Installation

1. Install the Package

pip install django-puzzlecaptcha

2. Configure Django Settings

Add puzzlecaptcha to your INSTALLED_APPS:

INSTALLED_APPS = [
    ...
    'puzzlecaptcha',
    ...
]

3. Configuration

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,
}

4. To Enable on Admin Login Form (Optional)

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),
    ....
]

Usage Example

from puzzlecaptcha.field import MathCaptchaField

class AuthenticationForm(form.Form):
    captcha = MathCaptchaField()

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License

Support

If you encounter any issues or have questions, please open an issue on GitHub.

About

PuzzleCaptcha

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published