Skip to main content

Generic content flagging for Django

Project description

django-flaggit enables content flagging.

Installation

pip install django-flaggit

Usage:

  • Add flaggit to your INSTALLED_APPS

  • Include flaggit.urls into your URLs if you plan on using the view and template tag:

    urlpatterns = patterns('',
        url('^', include('flaggit.urls')),
    )

Test

Follow above steps and run

python manage.py test flaggit

API

Models

  • flaggit.models.Flag

  • flaggit.models.FlagInstance

Utils

  • flaggit.utils.flag(obj, user=None, ip=None, comment=None):

    Flag an obj, returns a FlagInstance

Signals

  • flaggit.signals.flagged(flag):

    Sent when something is flagged. Can be used to notify moderators.

  • flaggit.signals.review(flag):

    Sent when something is in review.

  • flaggit.signals.rejected(flag):

    Sent when some content was rejected.

  • flaggit.signals.approved(flag):

    Sent when some content was approved.

Here’s a template you can copy paste:

import flaggit

def handle_flagged(sender, flag, created = False, **kwargs):
    if created:
        # send emails
        pass
    else:
        pass

def handle_review(sender, flag, **kwargs):
    pass

def handle_rejected(sender, flag, **kwargs):
    flag.content_object.delete()
    flag.delete()

def handle_approved(sender, flag, **kwargs):
    pass

flaggit.signals.flagged.connect(handle_flagged)
flaggit.signals.review.connect(handle_review)
flaggit.signals.rejected.connect(handle_rejected)
flaggit.signals.approved.connect(handle_approved)

Template tags

{% load flaggit_tags %}
{% flag_form object %}
{% flag_form object "your/custom/template.html" %}
  • {% flag_form object %}:

    Renders a form to flag object-

  • `{% flag_form object “your/custom/template.html” %}:

    Renders the form with a custom template.


@flashingpumpkin

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-flaggit-0.0.3.tar.gz (7.3 kB view details)

Uploaded Source

File details

Details for the file django-flaggit-0.0.3.tar.gz.

File metadata

File hashes

Hashes for django-flaggit-0.0.3.tar.gz
Algorithm Hash digest
SHA256 6aac49d968126a1801fb09a38c68e357509dd78535688074fb4af34e7c2bc761
MD5 8bd24f8ace3cb0070b1e371be48d85b1
BLAKE2b-256 28f167a024b40313d8001404d2e823975fc61f4848042c1cf97c89f178322bad

See more details on using hashes here.

Supported by

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