ICVOSS DJANGO PACKAGE REGISTRY

Home taxonomy How it works

How django-icv-taxonomy works

django-icv-taxonomy is built around two ideas: a vocabulary, which is a named set of terms with a type (flat, hierarchical, or faceted), and a term, which anything in your project can be tagged with through a generic association. The facet bar on the main demo page is one vocabulary; each button is one term.

Filtering by a term is a real query, get_objects_for_term(), against the association table joining terms to tagged objects; it is not a hand-rolled tag match against a text field. Selecting more than one facet ANDs the results together, so a package must carry every selected term to appear.

Terms can also relate to each other, independent of the objects they tag: broader, narrower, and related rows, in the SKOS vocabulary tradition. The term detail panel on the main demo page reads those relationships directly with get_related_terms(), so a facet vocabulary can express structure a flat tag list cannot.

That link is same-host: hostmap leaves it relative, unlike the cross-host links below.

Other live demos

  1. No.01
    django-hostmap

    Host-based URL routing and host-aware reversing.

    hostmap.icvoss.com
  2. No.02
    django-icv-tree

    Materialised path tree structures.

    tree.icvoss.com
  3. No.03
    django-icv-taxonomy (you are here)

    Cross-domain taxonomy, vocabularies, and tagging.

    taxonomy.icvoss.com
  4. No.04
    django-icv-search

    Pluggable search engine integration.

    search.icvoss.com
  5. No.05
    django-icv-sitemaps

    Scalable sitemap and discovery file generation.

    sitemaps.icvoss.com
  6. No.06
    django-brickwork

    A brand-agnostic UI substrate: shell, nav, components.

    brickwork.icvoss.com