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.1.tar.gz (6.7 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for django-flaggit-0.0.1.tar.gz
Algorithm Hash digest
SHA256 db2e94eb56ccada98d173f68d86b8f82c058cbc6ea304e0e9cae35d1fcc310d0
MD5 cf745bbe265b45a0b70bdee198cd7daf
BLAKE2b-256 6eb1dda2ef4d5b609e0ba6abae6c2bb27bfe836e43c6a16b052204d805ab4f06

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