Skip to content

praekelt/django-category

Repository files navigation

Django Category

Simple category app providing category and tag models.

Travis Coveralls Release
  1. Python 2.7, 3.5-3.7
  2. Django 1.11, 2.0, 2.1
  1. Install or add django-category to your Python path.
  2. Add category to your INSTALLED_APPS setting.
  3. This package uses django's internal sites framework. Add django.contrib.sites to your INSTALLED_APPS setting and include the required SITE_ID = 1 (or similiar). The official docs can be found here: https://docs.djangoproject.com/en/2.1/ref/contrib/sites/.
  4. Optional: django-object-tools provides a category tree view. See https://github.com/praekelt/django-object-tools for installation instructions.

Enable categorization and/or tagging on a model by creating ManyToMany fields to the models provided by django-category, for example:

from django import models

class MyModel(models.Model):
    categories = models.ManyToManyField(
        'category.Category',
        help_text='Categorize this item.'
    )
    tags = models.ManyToManyField(
        'category.Tag',
        help_text='Tag this item.'
    )

Category model to be used for categorization of content. Categories are high level constructs to be used for grouping and organizing content, thus creating a site's table of contents.

Short descriptive title for the category to be used for display.

Some titles may be the same and cause confusion in admin UI. A subtitle makes a distinction.

Short descriptive unique name to be used in urls.

Optional parent to allow nesting of categories.

Limits category scope to selected sites.

Tag model to be used for tagging content. Tags are to be used to describe your content in more detail, in essence providing keywords associated with your content. Tags can also be seen as micro-categorization of a site's content.

Short descriptive name for the tag to be used for display.

Short descriptive unique name to be used in urls.

Categories to which the tag belongs.