用于管理事件时间线的django应用程序。
django-user-timeline的Python项目详细描述
用于显示事件时间线的django应用程序。
背景
这是一个非常简单的django应用程序,它针对用户对象存储“事件”, 提供用户事件的时间线。很开放,事件没有关联 任何具体的东西(这不是一个模型审计应用程序,尽管有一个 可选的GenericForeignKey在Event模型上,如果 它只是一个带有时间戳的对象列表,可以用来跟踪 用户交互。时间线中的每个事件都有一个category和一个 message字段,以及可用于存储 非结构化附加数据。一个事件可以选择性地与另一个事件相关 通过通用外键建模。
事件的呈现取决于您—没有默认设置。
安装
该项目可以通过pypi作为django-user-timeline:
$ pip install django-user-timeline
主包本身就是timeline:
>>>fromtimelineimportmodels,views,urls,admin
用法
每当有趣的事情发生时,添加一个事件。就这样。
>>>from.modelsimportProduct,add_to_basket>>>fromtimeline.modelsimportTimelineEvent>>>defadd_product(request,product_id):..."""View function to add product to user's basket."""...product=get_object_or_404(Product,id=id)...add_to_basket(request.user,product)...event=TimelineEvent.objects.create_event(...user=request.user,...category='add_to_basket',...message='You added %s to your basket'%product,...content_object=product,...context={..."product_id":product_id,..."price_paid":10.00,..."on_sale":False...}...)...returnHttpResponse("...")
如何使用时间线取决于您-在网站上显示它,使用 用于报告等。用户的时间线可直接通过 timeline:
的related_name属性>>>fromdjango.contrib.auth.modelsimportUser>>>fromtimeline.modelsimportTimelineEvent>>>user=User.objects.get(id=1)>>>assertuser.timeline.all()==TimelineEvent.objects.filter(user=user)
测试
测试使用tox运行,并在travis ci的提交推送上运行。
贡献
标准GH规则适用:将回购克隆到您自己的帐户,创建分支,确保更新测试,并提交请求。
状态
这是当前正在开发的应用程序的占位符(因此是0.0.0)。