django-flaggit 0.0.3
Generic content flagging for Django
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.
| File | Type | Py Version | Uploaded on | Size | # downloads |
|---|---|---|---|---|---|
| django-flaggit-0.0.3.tar.gz (md5) | Source | 2011-08-05 | 7KB | 289 | |
- Author: Alen Mujezinovic
- Home Page: https://github.com/caffeinehit/django-flaggit
- Package Index Owner: flashingpumpkin
- DOAP record: django-flaggit-0.0.3.xml
