Skip to main content

Jinja2 extension to render csrf hidden input

Project description

Jinja2 CSRF Token Extension

This is a Jinja2 extension for generating CSRF tokens in Django templates.

Installation

Install the extension using pip:

pip install jinja2_csrf

Configuration

To use this extension, you need to configure Jinja2 as a template engine in your Django settings:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.jinja2.Jinja2',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'environment': 'path.to.your.jinja2.environment',
            'extensions': ['jinja2_csrf.CSRFTokenExtension'],
        },
    },
]

Make sure to replace 'path.to.your.jinja2.environment' with the actual path to your Jinja2 environment.

Usage

In your Jinja2 templates, you can now use the csrf_token tag to generate a CSRF token:

<form method="post">
    {% csrf_token %}
    <!-- Your form fields go here -->
    <button type="submit">Submit</button>
</form>

The csrf_token tag will generate an <input> element with the CSRF token value:

<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">

Make sure to include the csrf_token tag within your form to protect against CSRF attacks.

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

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

Source Distribution

jinja2_csrf-1.0.tar.gz (3.7 kB view hashes)

Uploaded Source

Built Distribution

jinja2_csrf-1.0-py2.py3-none-any.whl (2.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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