Skip to main content

Django reusable application for content categorization.

Project description

https://github.com/idlesign/django-sitecats

https://badge.fury.io/py/django-sitecats.png https://pypip.in/d/django-sitecats/badge.png

Description

Django reusable application for content categorization.

Nay, - you say, - all that tags business lacks structuring.

This application is just about structuring your data: build categories hierarchy and link your site entities to those categories.

# Somewhere in views.py
from django.shortcuts import render, get_object_or_404

# Suppose Article model has sitecats.models.ModelWithCategory class mixed in.
from .models import Article


def article_details(self, request, article_id):
    """See, there is nothing special in this view, yet it'll render a page with categories for the article."""
    return self.render(request, 'article.html', {'article': get_object_or_404(Article, pk=article_id)})

def article_edit(self, request, article_id):
    """Let's allow this view to render and handle categories editor."""
    article = get_object_or_404(Article, pk=article_id)

    # Now we enable category editor for an article, and allow users
    # not only to link that article to subcategories of `language`, and `os` categories,
    # but also to add those subcategories.
    article.enable_category_lists_editor(request,
                            editor_init_kwargs={'allow_new': True},
                            additional_parents_aliases=['language', 'os'])

    form = ... # Your usual Article edit handling code will be here.

    return render(request, 'article.html', {'article': article, 'form': form})

Template coding basically boils down to sitecats_categories template tags usage:

<!-- The same html is just fine for demonstration purposes for both our views.
     Do not forget to load `sitecats` template tags library. -->
{% extends "base.html" %}
{% load sitecats %}

{% block contents %}
    <h1>{{ article.title }}</h1>
    <div class="article_categories">
        {% sitecats_categories from article %} <!-- And that's it. -->
    </div>
    <!-- Form code goes somewhere here. -->
{% endblock %}

Read the docs, sitecats can do more.

Documentation

http://django-sitecats.readthedocs.org/

Project details


Download files

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

Source Distribution

django-sitecats-0.2.0.tar.gz (27.7 kB view details)

Uploaded Source

File details

Details for the file django-sitecats-0.2.0.tar.gz.

File metadata

File hashes

Hashes for django-sitecats-0.2.0.tar.gz
Algorithm Hash digest
SHA256 bea6e1c75ed2a5fc2873a1608816b53113b22a4e5a17c59710e518b09cc69ccd
MD5 8480ac4df587ea03c41eefa8b690bfde
BLAKE2b-256 7e910e0e992c987c2c001d3d753535f32c4390e0870faa96c870df56a59b59bf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page