Skip to main content

Python libraries for Prune.

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 prune_captcha

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 "prune_captcha/static/".

<header>
    <link
        rel="stylesheet"
        href="{% static 'prune_captcha/css/captcha.css' %}"
    />
    <script defer src="{% static 'prune_captcha/js/captcha.js' %}"></script>
</header>

Utilisation

  • GET request (form display)

    • Use create_and_get_captcha to generate the captcha data:

      from prune_captcha.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 "prune_captcha/captcha.html" %}
      
  • POST request (form submission)

    • Use verify_captcha to validate the captcha:

      from prune_captcha.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.19.1 2025-06-02 fix
1.19.0 2025-06-02 from prune-captcha to prune-libs
1.18.7 2025-05-28 PUZZLE_HINT_TEXT fix
1.18.6 2025-05-28 added PUZZLE_HINT_TEXT
1.18.5 2025-05-23 ValueError fixed
1.18.4 2025-05-23 deleted var
1.18.3 2025-05-22 add puzzle info
1.18.2 2025-05-22 fix
1.18.1 2025-05-22 some improvements
1.18.0 2025-05-22 create "addHiddenInputs" func
1.17.0 2025-05-21 fix pos_answer
1.16.1 2025-05-21 fix static
1.16.0 2025-05-21 fix static
1.15.2 2025-05-21 fix manifest
1.15.1 2025-05-21 fix manifest
1.15.0 2025-05-21 fix manifest
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_libs-1.19.1.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

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

prune_libs-1.19.1-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file prune_libs-1.19.1.tar.gz.

File metadata

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

File hashes

Hashes for prune_libs-1.19.1.tar.gz
Algorithm Hash digest
SHA256 397ff41bdfe2afa69f303b38f94881c1092c7a5144c2d43e80a1747dcf79ba89
MD5 e0076d7fbaafac37c534f00b306ea693
BLAKE2b-256 d81bde1de4d4c7a803c36680bc5dbcb34e6f6ab3e2a09feb0798c3825dd4019a

See more details on using hashes here.

File details

Details for the file prune_libs-1.19.1-py3-none-any.whl.

File metadata

File hashes

Hashes for prune_libs-1.19.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f712ea8388871964b2c0299efd9b5691260e3c17d3c1a4f91013b5c851b11283
MD5 e633053e68b5e434911ba393b3b177ea
BLAKE2b-256 4fc60d62faec81fd1a3b5a27815d8d3d64431a2bd0a2831e00ba911784247d09

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