Skip to main content

Django Expressions

Django template tag and filter for evaluating Python expressions.

Demo

As a template tag {% expr "<expression>" %}

{% expr "[a for a in range(n)]" %}

Save the result to a variable using as var at the end of the tag:

{% expr "[a for a in range(n)]" as result %}
{{ result }}

As a filter "<expression>" | expr:

{{ "{k: v.name for k, v in employees_dict.values() }" | expr }}

To chain an expression after another filter, define a lambda expression as the filter argument value | expr:"lambda x: <expression>":

{{ employees_list | first | expr:"lambda x: x.first_name + ' ' + x.last_name" }}

Installation

  1. Install dependencies

    pip install django_expr
    
  2. Add django_expr to INSTALLED_APPS in your settings.py

    INSTALLED_APPS = [
        "django_expr",
        ...
    ]
    
  3. Inside templates, load the tags with {% load expr %}:

    {% load expr %}
    {% expr "[{k: not v} for k, v in ({'a': 'b', 'c': 0}).items()]" %}
    
  4. If you want to automatically include the expr tag and filter, add the tags as a 'builtin' in settings.py:

TEMPLATES = [
    {
        ...,
        'OPTIONS': {
            'context_processors': [
                ...
            ],
            'builtins': [
                'django_expr.templatetags.expr',
            ]
        },
    },
]

Download files

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

Source Distribution

django_expr-0.1.0.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

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

django_expr-0.1.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file django_expr-0.1.0.tar.gz.

File metadata

  • Download URL: django_expr-0.1.0.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.5

File hashes

Hashes for django_expr-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c6800e83edfa6afb420e59e1cda84a051a493a5ed511da25e6b48b7dc8a1bd55
MD5 aeb54da02c52b029b4e15442d3ac2d19
BLAKE2b-256 56fd369d9cd58bba3f51d7cabb544bb05ec6d1a56460d472ab3f685ea94eb50c

See more details on using hashes here.

File details

Details for the file django_expr-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: django_expr-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.5

File hashes

Hashes for django_expr-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 577eccdc7da9f69469d35e54e6c03244b926d2f6caa012ce5d4313b1b0ffb676
MD5 011f9c2639ed0dd6b38167ca844b67b5
BLAKE2b-256 b9038950d147bf245c1e62bb82c5c274c7c557de2f47b63ee4b97fa019a6369b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

0.0.1

2 files

Supported by

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