DJFacet: a faceted browser for Django

DJFacet is a pluggable module for the Django web application framework that allows you to navigate the data in your webapp using an approach based on ‘facets’. DJFacet relies entirely on the django models you’ve already defined within your project and on a configuration file where you can create the facets and assign them behaviour. This makes it very easy to integrate within your Django application.

I’ve been working on DJFacet on and off for more than a year now, so I’m really happy to finally release a stable version of it. The software is still under active development, so be certain that in the coming months new features and bug fixes will be released!

djfacet screenshot

In a nutshell, the main features of DJFacet are:

  • Rapid installation and integration with existing Django projects
  • It’s back-end agnostic (as it rests on Django’s Database API)
  • Has a minimal and customisable look and feel, based on template override
  • It follows a REST architecture: urls of a search are stable and bookmarkable
  • It supports pivoting (the type of objects being searched for can be changed dynamically)
  • It provides a dedicated caching system (useful for apps with many facets/zoom points)
  • Find out more about it using these links:

  • Source code on Bitbucket:
  • Documentation:
  • Demo installation:
  • Project page:


    One Response to “DJFacet: a faceted browser for Django”

    Just starting to play with DJFacets. I would like to show facets for ranges of values for a specific column/field. For instance, for price I would like to show facets for $0 – $1000, $1001 – $2000, and >= $2001. Where to I do this? I am hoping I can do it at the “facet behavior” level using the “querypath” option, by using a django filtered query.

    Please tell me how to do it (code samples are very much appreciated – so I don’t mess up on some syntactic technicality).


    Bill Burris added these pithy words on Apr 08 12 at 5:54 pm