Skip to main content

ItemList is a customizable Django Admin ChangeList-like app for use outside of the admin. It can be used to create versatile paginated lists of objects which can be searched, filtered and provide links to detail pages similarly to the admin ChangeLists.

Provides a generic class-based view ItemListView.

ItemListView

class itemlist.views.ItemListView

A page representing a list of objects, with a search box, list filters, sortable columns, pagination and optional links to detailed pages.

Ancestors (MRO)

This view inherits methods and attributes from the following Django views:

  • django.views.generic.list.ListView

  • django.views.generic.list.MultipleObjectTemplateResponseMixin

  • django.views.generic.base.TemplateResponseMixin

  • django.views.generic.list.BaseListView

  • django.views.generic.list.MultipleObjectMixin

  • django.views.generic.base.View

Methods and attributes
list_columns

A list of field names to display in columns. Supports double underscore lookups. Non-field model attributes and methods can be used by specifying the attribute or method name as a string. In this case the value of the attribute or the result of the method will be displayed in the column. However, sorting and filtering will not work for these columns by default. To enable sorting through an associated field, set the sort_field attribute on the method. The title of the column can be customized by adding a ‘short_description’ attribute to the method.

list_filters

A list of field names or django.contrib.admin.SimpleListFilter instances for generating filters on the list.

list_search

A list of field names to include in search operations. Supports double underscore lookups.

list_transforms

A dictionary mapping field names to functions for transforming column values before display. Transform functions must take two arguments transform(value, obj), where obj is the object corresponding to the list row.

list_headers

A dictionary mapping field names to header names for explicitly specifying the column header text.

list_styles

A dictionary mapping field names to css style classes to add to the HTML of the columns.

list_title

A string to use as the title of the list. If None (default), the model name is used.

link_url

A named url for creating links to detailed pages. If None (default), no links are created.

link_kwarg

The link kwarg parameter for link_url. Default is ‘pk’

link_attr

By default links are created with the url in the href attribute of an anchor tag. The attribute can be changed by setting the link_attr parameter of the view. For example setting link_attr to data-link will create a tag that looks like <a href=”#!” data-link=”http://…”>…</a>. This is useful for loading content using JavaScript into modals or for ajax. This parameter replaces link_data boolean in previous versions.

link_field

Column name on which to create links. Must be one of the names included in list_columns. By default the first column will be used.

add_facets

Boolean to show or hide the facet counts within the filter titles. Default is False.

get_list_columns()

Return the field names to display in columns. By default, simply returns the value of list_columns.

get_list_filters()

Return the list_filters to display. By default, simply returns the value of list_filters.

get_list_search()

Return the list of field names to include in search operations. By default, simply returns the value of list_search.

get_list_transforms()

Return the dictionary of transforms to use for the columns. By default, simply returns the value of list_transforms.

get_list_headers()

Return the dictionary of column headings. By default, simply returns the value of list_headers.

get_list_styles()

Return the dictionary of column css styles. By default, simply returns the value of list_styles.

get_list_title()

Return the title of the list. By default, simply returns the value of list_title.

get_link_url(obj)

Return the detail url link for the current object/row. By default, uses the named url from link_url, the kwarg from link_kwarg and the value of the attribute.

get_link_kwarg()

Return the kwarg to use for the detail link_url. By default, simply returns the value of link_kwarg.

get_link_field()

Return the name of the column on which to create the detail links. By default, returns the first column.

get_link_attr()

Return the attr to use for the detail link_url. By default, simply returns the value of link_attr.

Example views.py:

from django.utils import timezone
from itemlist import ItemListView

from library.models import Topic

class TopicList(ItemListView):
    template_name = 'myapp/topic_list.html'
    model = Topic
    list_filters = ['kind', 'parent']
    list_columns = ['id', 'name', 'acronym', 'kind', 'parent__name']
    list_search = ['name', 'kind__name']
    list_headers = {'parent__name': 'Mommy'}

    link_url = 'library:topic-detail'
    link_field = 'name'
    paginate_by = 20

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['now'] = timezone.now()
        return context

Example urls.py:

from django.urls import path

from library.views import TopicList

app_label = 'library'
urlpatterns = [
    path('', TopicList.as_view(), name='topic-list'),
]

Examples for myapp/topic_list.html. The default template if none is specified is exactly the same as below:

{% extends "base.html" %}
{% block content %}
    {% include "itemlist/embed_list.html" %}
{% endblock %}

Another template example, equivalent to above. This allows you to reorder/omit components.

{% include "itemlist/filters.html" %}
{% include "itemlist/list.html" %}
{% include "itemlist/pagination.html" %}

Screenshots

Screenshot with list example Screenshot with filter popup Screenshot showing search and sort

Download files

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

Source Distribution

django_itemlist-2026.1.11.tar.gz (495.6 kB view details)

Uploaded Source

Built Distribution

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

django_itemlist-2026.1.11-py3-none-any.whl (500.1 kB view details)

Uploaded Python 3

File details

Details for the file django_itemlist-2026.1.11.tar.gz.

File metadata

  • Download URL: django_itemlist-2026.1.11.tar.gz
  • Upload date:
  • Size: 495.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.2 CPython/3.14.7 Linux/7.1.6-201.fc44.x86_64

File hashes

Hashes for django_itemlist-2026.1.11.tar.gz
Algorithm Hash digest
SHA256 d948f44201736d9211c32d0962c8456beeeb81368a06be3c10a9c1b1ddd7906b
MD5 77f4e125e93ed08f2dd2b18c432d4268
BLAKE2b-256 2d02a0d31a161ebe2a93f07d298d81c16f9b96aa2b49c7fd2316d9cc66d06f0e

See more details on using hashes here.

File details

Details for the file django_itemlist-2026.1.11-py3-none-any.whl.

File metadata

  • Download URL: django_itemlist-2026.1.11-py3-none-any.whl
  • Upload date:
  • Size: 500.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.2 CPython/3.14.7 Linux/7.1.6-201.fc44.x86_64

File hashes

Hashes for django_itemlist-2026.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 4ea349145593bb18a429c50c93a0d6eb771114edd577e16980ffdd577373ba3a
MD5 bc7bfd1e4ca93f5f49413fb15e5d2e94
BLAKE2b-256 c00f1524446323ec0c630986a0c8afbe4a67b4eba526beefb9ad17173627e2c4

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2026.1.11 This release

2 files

2026.1.7

2 files

2025.7.7

2 files

2025.7.6

2 files

2025.7.5

2 files

2025.7.3

2 files

2025.7.1

2 files

2025.7.0

2 files

2025.3.11

2 files

2025.3.6

2 files

2025.3.0

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.2.13

2 files

0.2.12

2 files

0.2.10

2 files

0.2.9

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.0

2 files

0.1.2

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page