django-persistent-filters

Provide a django middleware that take care to persist the querystring in the browser cookies or in the Django Request object.


License
BSD-1-Clause
Install
pip install django-persistent-filters==0.21

Documentation

Django Persistent Filters

Django Persistent Filters is a Python package which provide a django middleware that take care to persist the querystring in the browser cookies or in the Django Request object.

If you have a ListView with a Form for filter the objects, this package is perfect for you!

Installation

Use the package manager pip to install:

pip install django-persistent-filters

Usage

Put the middleware in the settings.py file:

MIDDLEWARE = [
    ...,
    "persistent_filters.middleware.PersistentFiltersMiddleware"
]

If you want to store filters in the Request object instead Cookies, add in the settings.py file:

PERSISTENT_FILTERS_IN_REQUEST = True

Add the urls with a filter form in settings.py file:

PERSISTENT_FILTERS_URLS = [
    # You can use name urls
    reverse_lazy("user:list"),

    # or you can write the path without domain
    "/user/list"
]

Add in the form the button for reset filters:

<button type="submit" name="reset-filters">Reset</button>