Django应用,用于对对象进行评分
项目描述
Django kaleidoscope Rate是一个用于评分对象的Django应用。
配置
在您的设置INSTALLED_APPS中配置应用程序
INSTALLED_APPS = [ ... krate, ... ]
DBRateHandler配置
配置dbratehandler,例如
INSTALLED_APPS = [ ... krate.ratehandlers.dbratehandler, ... ]
在settings.py中配置评分处理器,例如
KRATE_RATE_HANDLER = "krate.ratehandlers.dbratehandler.DBRateHandler"
如果您想在模型中存储平均评分的副本,请将KRateableMixin添加到您的模型中,例如
from krate.ratehandlers.dbratehandler.models import KRateableMixin class MyModel(models.Model, KRateableMixin): ... # My model definition...
如果您想在管理面板中显示和管理对象的评分,请向您的模型admin类中添加一个新的内联,例如
from django.contrib.contenttypes.generic import GenericTabularInline from krate.ratehandlers.dbratehandler.models import ObjRate, ObjRateAggregate class ObjRateInline(GenericTabularInline): model = ObjRate class ObjRateAggregateInline(GenericTabularInline): model = ObjRateAggregate class MyModelAdmin(admin.ModelAdmin): model = models.MyModel inlines = [MyOtherInlines, ..., ObjRateAggregateInline, ObjRateAggregateInline]
用法
现在您可以在视图中使用rate_object来存储用户的评分,并使用{% krate object %}和{% mykrate request_or_user object %}来获取平均评分和我的评分。