Skip to content

A Django app that lets you filter data by date range and numeric range in the admin UI

License

Notifications You must be signed in to change notification settings

silentsokolov/django-admin-rangefilter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

50c04fa · Jan 25, 2025
Jan 25, 2025
Jun 24, 2016
Aug 24, 2024
Dec 8, 2023
Jan 31, 2019
May 29, 2022
Aug 24, 2024
Jan 19, 2021
Jun 24, 2016
Jun 4, 2020
Jul 11, 2022
Dec 8, 2023
May 19, 2024
Dec 8, 2023
May 19, 2024

Repository files navigation

https://github.com/silentsokolov/django-admin-rangefilter/workflows/build/badge.svg?branch=master

django-admin-rangefilter

A Django app that adds a filter by date range and numeric range to the admin UI.

https://raw.githubusercontent.com/silentsokolov/django-admin-rangefilter/master/docs/images/screenshot.png

Requirements

  • Python 3.6+
  • Django 1.11+

Installation

Use your favorite Python package manager to install the app from PyPI, e.g.

Example:

pip install django-admin-rangefilter

Add rangefilter to INSTALLED_APPS:

Example:

INSTALLED_APPS = (
    ...
    'rangefilter',
    ...
)

Example usage

In admin

from datetime import datetime

from django.contrib import admin
from rangefilter.filters import (
    DateRangeFilterBuilder,
    DateTimeRangeFilterBuilder,
    NumericRangeFilterBuilder,
    DateRangeQuickSelectListFilterBuilder,
)

from .models import Post


@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
    list_filter = (
        ("created_at", DateRangeFilterBuilder()),
        (
            "updated_at",
            DateTimeRangeFilterBuilder(
                title="Custom title",
                default_start=datetime(2020, 1, 1),
                default_end=datetime(2030, 1, 1),
            ),
        ),
        ("num_value", NumericRangeFilterBuilder()),
        ("created_at", DateRangeQuickSelectListFilterBuilder()),  # Range + QuickSelect Filter
    )

Support Content-Security-Policy

For Django 1.8+, if django-csp is installed, nonces will be added to style and script tags.