Settings Reference

Here is a list of all available settings of django-filters and their default values. All settings are prefixed with FILTERS_, although this is a bit verbose it helps to make it easy to identify these settings.

FILTERS_EMPTY_CHOICE_LABEL

Default: '---------'

Set the default value for ChoiceFilter.empty_label. You may disable the empty choice by setting this to None.

FILTERS_NULL_CHOICE_LABEL

Default: None

Set the default value for ChoiceFilter.null_label. You may enable the null choice by setting a non-None value.

FILTERS_NULL_CHOICE_VALUE

Default: 'null'

Set the default value for ChoiceFilter.null_value. You may want to change this value if the default 'null' string conflicts with an actual choice.

FILTERS_DISABLE_HELP_TEXT

Default: False

Some filters provide informational help_text. For example, csv-based filters (filters.BaseCSVFilter) inform users that “Multiple values may be separated by commas”.

You may set this to True to disable the help_text for all filters, removing the text from the rendered form’s output.

FILTERS_VERBOSE_LOOKUPS

Note

This is considered an advanced setting and is subject to change.

Default:

# refer to 'django_filters.conf.DEFAULTS'
'VERBOSE_LOOKUPS': {
    'exact': _(''),
    'iexact': _(''),
    'contains': _('contains'),
    'icontains': _('contains'),
    ...
}

This setting controls the verbose output for generated filter labels. Instead of getting expression parts such as “lt” and “contained_by”, the verbose label would contain “is less than” and “is contained by”. Verbose output may be disabled by setting this to a falsy value.

This setting also accepts callables. The callable should not require arguments and should return a dictionary. This is useful for extending or overriding the default terms without having to copy the entire set of terms to your settings. For example, you could add verbose output for “exact” lookups.

# settings.py
def FILTERS_VERBOSE_LOOKUPS():
    from django_filters.conf import DEFAULTS

    verbose_lookups = DEFAULTS['VERBOSE_LOOKUPS'].copy()
    verbose_lookups.update({
        'exact': 'is equal to',
    })
    return verbose_lookups

FILTERS_STRICTNESS

Default: STRICTNESS.RETURN_NO_RESULTS

Set the global default for FilterSet strictness. If strict is not provided to the filterset, it will default to this setting. You can change the setting like so:

# settings.py
from django_filters import STRICTNESS

FILTERS_STRICTNESS = STRICTNESS.RETURN_NO_RESULTS