djaptcha 0.0.1

Creator: danarutscher

Last updated:

Add to Cart

Description:

djaptcha 0.0.1

# DjaptchaDjaptcha is a Django plugin that implements the `captcha` python package by `lepture`. It is designed to store user sessions in the database and generate random captcha images based on these sessions.## InstallationIf you haven't already, `pip install captcha` and then use the following to install `djaptcha`:```bash$ pip install djaptcha```Now add `djaptcha` to the list of installed plugins in your Django app.```pythonINSTALLED_APPS = [ ... 'djaptcha', ...]```*__Note__: You must have sessions enabled and configured in your django app to use this plugin. You also must have configured a database. End users must have cookies enabled in their browser to be able to generate captcha images.*Finally, run `python manage.py make_migrations` and `python manage.py migrate` to create the djaptcha database models.## SettingsIt's recommended that you change the following settings to suit your specific project needs:```python# These are the default valuesDJAPTCHA_MAX_TRIES = 10 # Maximum amount of tries before user can't generate new captchasDJAPTCHA_LENGTH = 6 # Length of the captcha (example: 'F7W8MG' has a length of 6)DJAPTCHA_CHARACTERS = 'ABCEFGHJKLMNPRSTUVWXYZ' # Characters allowed in the captchaDJAPTCHA_URL = STATIC_URL + 'captcha/' # The URL that end users can access captcha images atDJAPTCHA_DIR = 'static/captcha/' # The local directory your captcha images should be stored inDJAPTCHA_EXPIRY = 5 # Length in minutes before the captcha and image are deletedDJAPTCHA_COOKIES_TEMPLATE = 'djaptcha/cookies.html' # The template that tells users to enable cookies```## UsageTo add a captcha field to your form you need to follow these steps:1. Add the `CaptchaMixin` to your View class. *`CaptchaMixin` should be on the far left to ensure it's methods have priority*```pythonfrom djaptcha.views import CaptchaMixinclass MyView(CaptchaMixin, FormView): form_class = MyForm # View logic here```2. Add the `CaptchaForm` to your Form class. *`CaptchaForm` should be on the far left to ensure the captcha is validated before any other data.*```pythonfrom djaptcha.forms import CaptchaFormclass MyForm(CaptchaForm, Form) # Form fields and logic here. pass```3. Djaptcha also provides some context variables to use in your views. You can use them like so in your form templates:```html<!-- captcha_refresh_link : a path to the url that will refresh the captcha image captcha_retries : the number of retries the user has left--><form method="post"> {% csrf_token %} {{ form.as_p }} <p><a href="{{ captcha_refresh_link }}">Refresh</a></p> <p>{{ captcha_retries }} retries left.</p> <button type="submit">Submit</button></form>```

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.