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)

模板标签

{% load flaggit_tags %}
{% flag_form object %}
{% flag_form object "your/custom/template.html" %}
  • {% flag_form object %}
    呈现要标记的窗体object-
  • `{%flag\u form object“your/custom/template.html”%}:
    使用自定义模板呈现表单。

@flashingpumpkin

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java泛型和基类   ProcessBuilder或DefaultExecutor启动的“RunAs”子进程的java读取标准输出   java应用程序在尝试登录时突然停止   Java:神秘的Java未捕获异常处理程序[带代码]   java JavaFX NumberAxis自动范围无限循环   最新版本和旧版本冲突的java双Maven依赖关系   java如何导入带有部署变量类名的静态函数?   编译器构造不同的JDK更新会产生不同的Java字节码吗?   java无法在struts 1.1中上载任何超过250 MB大小的文件   java调整jcombobox下拉菜单的宽度   java如何在某些情况下忽略@SQLDelete注释   在Eclipse for Java EE developers edition中禁用HTML警告   java HttpUrlConnection重置请求属性   java@Provider资源未在rest应用程序中注册   java TOP N使用JPA连接   java在使用反射调用方法时区分int和Integer参数