模型用户操作日志方法
项目描述
此应用程序提供在模型实例上记录用户操作的能力。操作类型可以由应用程序开发者定义,并可以引用多个对象。每个操作类型定义了自己的模板,用于渲染消息的输出。它允许针对发生的操作的详细消息。
对象日志包括添加条目和构建用于显示它们的视图的快捷方式。
安装
安装对象日志有多种方式。
对象日志附带标准的distutils setup.py。从setup.py安装的经典调用可能如下所示
$ python setup.py install
您可能需要添加sudo才能将对象日志安装到系统Python中。
$ sudo python setup.py install
我们还在PyPI上提供了Object Log,因此可以使用pip进行安装。(easy_install也可以使用,但我们不建议使用easy_install。请只使用pip。)
$ pip install django-object-log
如果您直接将Object Log安装到Django应用程序中,并希望与您的应用程序一起分发Object Log,只需将object_log文件夹复制到您的Django项目中即可。
配置您的Django项目
将“object_log”添加到INSTALLED_APPS
运行./manage.py syncdb
如果需要添加用于显示日志的视图,请将object_log.urls添加到urls
使用Object Log
首先,注册一些动作类型。这可以在任何时候进行,但最好在models.py中一次性完成。LogActions需要同时提供一个键和用于渲染该动作类型的模板。
>>> from object_log.models import LogAction >>> LogAction.objects.register('MY_ACTION', 'path/to/my/template.html')
现在,当该动作发生时,可以使用该LogAction类型。
>>> from object_log.models import LogItem >>> log = LogItem.objects.log_action >>> log('MY_ACTION', user, some_object) >>> log('EDIT', user, some_object) >>> log('DELETE', user, some_object)
还可以通过包含一个dict来在每个日志条目中包含任意数据。它可在LogAction模板中作为{{data}}使用。这有助于缓存信息,以减少渲染日志时相关查询。
>>> log('MY_ACTION', user, {'my_obj':str(obj1})
数据字典可以由与LogAction一起注册的缓存函数自动从对象中填充。缓存函数接收用户、对象以及传递给log_action()的任何数据。它应返回一个字典。此数据将覆盖手动数据,如果您想同时使用两者,则必须手动合并。
>>> def cache(user, obj1, obj2, obj3, data): >>> return dict(obj_str=str(obj1)) >>> >>> LogAction.objects.register('MY_ACTION', 'path/to/my/template.html', cache)
然后可以使用log_action作为正常使用。
>>> log('MY_ACTION', user, some_object)
有关更多详细信息,请参阅wiki:[http://code.osuosl.org/projects/django-object-log/wiki](http://code.osuosl.org/projects/django-object-log/wiki)
项目详情
django-object-log-0.7.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d5c38788ea45acfebffe3917d2c0db5e69c6f56c7f57028b3383f270119c5cb1 |
|
MD5 | 7a02848d0957ce3c4e5b7a2554a1402f |
|
BLAKE2b-256 | 630b34369b71a81e45cac478f0a64c6c86dca50cee22a87fdb00774172553bf6 |