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 hashes)

Uploaded Source

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