.. image:: https://github.com/silentsokolov/django-admin-rangefilter/workflows/build/badge.svg?branch=master
:target: https://github.com/silentsokolov/django-admin-rangefilter/actions?query=workflow%3Abuild
.. image:: https://codecov.io/gh/silentsokolov/django-admin-rangefilter/branch/master/graph/badge.svg
:target: https://codecov.io/gh/silentsokolov/django-admin-rangefilter
django-admin-rangefilter
========================
A Django app that adds a filter by date range and numeric range to the admin UI.
.. image:: 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:
.. code:: python
INSTALLED_APPS = (
...
'rangefilter',
...
)
Example usage
-------------
In admin
~~~~~~~~
.. code:: python
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 <https://github.com/mozilla/django-csp>`_ is installed, nonces will be added to style and script tags.
Raw data
{
"_id": null,
"home_page": "https://github.com/silentsokolov/django-admin-rangefilter",
"name": "django-admin-rangefilter",
"maintainer": null,
"docs_url": null,
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7",
"maintainer_email": null,
"keywords": null,
"author": "Dmitriy Sokolov",
"author_email": "silentsokolov@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/74/89/7d33a1c6c0d0770feea621439e010a2bb0f3023ec4c938ae582f3a93eb9f/django_admin_rangefilter-0.13.2.tar.gz",
"platform": "any",
"description": ".. image:: https://github.com/silentsokolov/django-admin-rangefilter/workflows/build/badge.svg?branch=master\n :target: https://github.com/silentsokolov/django-admin-rangefilter/actions?query=workflow%3Abuild\n\n.. image:: https://codecov.io/gh/silentsokolov/django-admin-rangefilter/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/silentsokolov/django-admin-rangefilter\n\ndjango-admin-rangefilter\n========================\n\nA Django app that adds a filter by date range and numeric range to the admin UI.\n\n.. image:: https://raw.githubusercontent.com/silentsokolov/django-admin-rangefilter/master/docs/images/screenshot.png\n\n\nRequirements\n------------\n\n* Python 3.6+\n* Django 1.11+\n\n\nInstallation\n------------\n\nUse your favorite Python package manager to install the app from PyPI, e.g.\n\nExample:\n\n``pip install django-admin-rangefilter``\n\n\nAdd ``rangefilter`` to ``INSTALLED_APPS``:\n\nExample:\n\n.. code:: python\n\n INSTALLED_APPS = (\n ...\n 'rangefilter',\n ...\n )\n\n\nExample usage\n-------------\n\nIn admin\n~~~~~~~~\n\n.. code:: python\n\n from datetime import datetime\n\n from django.contrib import admin\n from rangefilter.filters import (\n DateRangeFilterBuilder,\n DateTimeRangeFilterBuilder,\n NumericRangeFilterBuilder,\n DateRangeQuickSelectListFilterBuilder,\n )\n\n from .models import Post\n\n\n @admin.register(Post)\n class PostAdmin(admin.ModelAdmin):\n list_filter = (\n (\"created_at\", DateRangeFilterBuilder()),\n (\n \"updated_at\",\n DateTimeRangeFilterBuilder(\n title=\"Custom title\",\n default_start=datetime(2020, 1, 1),\n default_end=datetime(2030, 1, 1),\n ),\n ),\n (\"num_value\", NumericRangeFilterBuilder()),\n (\"created_at\", DateRangeQuickSelectListFilterBuilder()), # Range + QuickSelect Filter\n )\n\n\nSupport Content-Security-Policy\n-------------------------------\n\nFor Django 1.8+, if `django-csp <https://github.com/mozilla/django-csp>`_ is installed, nonces will be added to style and script tags.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "django-admin-rangefilter app, add the filter by a custom date range on the admin UI.",
"version": "0.13.2",
"project_urls": {
"Homepage": "https://github.com/silentsokolov/django-admin-rangefilter"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ff499f2656dd47dc7d6e9fbfc967115b1880d49a52325e7390d4630301dff7ce",
"md5": "249ce20a0e9011588af8105326d5ba14",
"sha256": "012e4bf28790344db5b63a57b814a3d4ae8f7cd8692854288bd3c396515aa761"
},
"downloads": -1,
"filename": "django_admin_rangefilter-0.13.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "249ce20a0e9011588af8105326d5ba14",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7",
"size": 47955,
"upload_time": "2024-08-24T06:05:40",
"upload_time_iso_8601": "2024-08-24T06:05:40.520630Z",
"url": "https://files.pythonhosted.org/packages/ff/49/9f2656dd47dc7d6e9fbfc967115b1880d49a52325e7390d4630301dff7ce/django_admin_rangefilter-0.13.2-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "74897d33a1c6c0d0770feea621439e010a2bb0f3023ec4c938ae582f3a93eb9f",
"md5": "d7688f573de3dbc32f88b51fa1659c81",
"sha256": "12750c32c01d6cc891ba7d05267ce9921527042084da0ac9548a3ae8109f90d3"
},
"downloads": -1,
"filename": "django_admin_rangefilter-0.13.2.tar.gz",
"has_sig": false,
"md5_digest": "d7688f573de3dbc32f88b51fa1659c81",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7",
"size": 23136,
"upload_time": "2024-08-24T06:05:42",
"upload_time_iso_8601": "2024-08-24T06:05:42.559232Z",
"url": "https://files.pythonhosted.org/packages/74/89/7d33a1c6c0d0770feea621439e010a2bb0f3023ec4c938ae582f3a93eb9f/django_admin_rangefilter-0.13.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-24 06:05:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "silentsokolov",
"github_project": "django-admin-rangefilter",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "django-admin-rangefilter"
}