Skip to main content

A tool to protect formulaire from spam.

Project description

Prune's Captcha

What is it for?

Captcha helps prevent robots from spamming using your forms.

Prerequisites

  • To be installed on a Prune Django project that uses poetry or UV

UV project

Installation

Run the following command in the console:

uv add captcha_prune

Updating the captcha

Don't hesitate to regularly run uv sync --upgrade, as the captcha evolves with time and our practices!

Poetry project

Installation

Run the following command:

poetry add prune_captcha

Updating the captcha

Don't hesitate to regularly run poetry update, as the captcha evolves with time and our practices!

Captcha Integration

Configuration

In settings.py, set the path to the images used for the puzzle:

PUZZLE_IMAGE_STATIC_PATH = "website/static/website/images/puzzles/"

Important: You must import the static files (css, js) present in "captcha_prune/static/".

Utilisation

  • GET request (form display)

    • Use create_and_get_captcha to generate the captcha data:

      from captcha_prune.utils import create_and_get_captcha
      
      puzzle = create_and_get_captcha(request)
      
    • Passes the data into the context under the puzzle variable:

      return render(
          request,
          "website/pages/contact/page.html",
          {"form": form, "puzzle": puzzle},
      )
      
    • Include the component in your template:

      {% include "captcha_prune/captcha.html" %}
      
  • POST request (form submission)

    • Use verify_captcha to validate the captcha:

      from captcha_prune.utils import verify_captcha
      
      response = verify_captcha(request)
      
    • True if the captcha is correct, else False.

    • Redirects in case of incorrect captcha.

Available Versions

Version Date Notes
1.14.0 2025-05-21 fix static and templates dirs
1.13.0 2025-05-21 use session, add static
1.12.2 2025-05-21 doc fixed
1.12.1 2025-05-21 doc fixed
1.12.0 2025-05-21 removed views, added utils, ...
1.11.0 2025-05-21 removed utils
1.10.0 2025-05-20 fix documentation, removed ...
1.9.0 2025-05-20 puzzle images path fixed
1.8.0 2025-05-20 added migrations
1.7.0 2025-05-20 PUZZLE_IMAGE_STATIC_PATH ...
1.6.0 2025-05-20 added templates
1.5.0 2025-05-20 app config fixed, components ...
1.4.0 2025-05-20 added BaseModel in Captcha, ...
1.3.0 2025-04-30 deleted start_server, deleted ...
1.2.0 2025-04-30 fixed prune_captcha command, ...
1.1.0 2025-04-30 start_server was not a module, ...
1.0.0 2025-04-29 First version of the captcha ...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prune_captcha-1.14.0.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prune_captcha-1.14.0-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file prune_captcha-1.14.0.tar.gz.

File metadata

  • Download URL: prune_captcha-1.14.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.31

File hashes

Hashes for prune_captcha-1.14.0.tar.gz
Algorithm Hash digest
SHA256 5045002969247fdb8ac53bdc04e8a2315f1eff27398014bcc06dfdb65569e970
MD5 c72f1a95ed5f717aa2223b2d211659ea
BLAKE2b-256 8f0472995ce247ea757d18c17610b37743801248b53d5c13f957f4bf73bda6b4

See more details on using hashes here.

File details

Details for the file prune_captcha-1.14.0-py3-none-any.whl.

File metadata

File hashes

Hashes for prune_captcha-1.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d081e7bb2c46c73f178dc05dc0de3d0f679f7e55103df8f32d7737df8fc2ab9
MD5 929f54fd0be004b2d508f59578a4b5bb
BLAKE2b-256 ed59d548a6857ee0cffc32a6b74846814b3b351eaa55c1fd68db857ff9a3a1b8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page