django的通用内容标记
django-flaggit的Python项目详细描述
django flaggit启用内容标记。
安装
pip install django-flaggit
用法:
将flaggit添加到INSTALLED_APPS
如果计划使用视图,请将flaggit.urls包含到URL中 和模板标签:
urlpatterns = patterns('', url('^', include('flaggit.urls')), )
测试
按照以上步骤运行
python manage.py test flaggit
API
型号
- flaggit.models.Flag
- flaggit.models.FlagInstance
utils
- flaggit.utils.flag(obj, user=None, ip=None, comment=None):
- 标记一个obj,返回一个FlagInstance
信号
- flaggit.signals.flagged(flag): 有标记时发送。可用于通知版主。
- flaggit.signals.review(flag):
- 在查看内容时发送。
- flaggit.signals.rejected(flag): 当某些内容被拒绝时发送。
- flaggit.signals.approved(flag):
- 在某些内容被批准时发送。
这是一个可以复制粘贴的模板:
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)