在 Django 中存储用户活动

2024-01-11

我正在寻找存储用户的活动,但我不确定将其存储在哪里。我不认为数据库是一个选择,因为它会非常大。我想知道 Facebook、Dropbox 等网站如何记住特定用户的所有活动。并且它不能存储在会话中,因为这不是特定于会话的而是特定于用户的。

请帮我提出您的建议。


通常你可以使用Django Admin Logs如果您愿意的话,可以参加这样的活动。

通常 Django 会跟踪管理操作,例如创建、更新或删除现有记录。它具有以下结构:

from django.contrib.admin.models import LogEntry

LogEntry.objects.log_action(
                            user_id = ...,
                            content_type_id = ...,
                            object_id = ...,
                            object_repr = ....,
                            change_message = ...,
                            action_flag = ...
                           )

我在我的系统中将其用作记录器,并跟踪每个操作。通常,Django 会记录通过管理表单完成的插入、更新或删除操作,而我会记录我的手写视图和表单操作。此外,您还可以使用以下命令捕获用户操作,例如登录/注销signals https://docs.djangoproject.com/en/dev/topics/signals/.

我定义了新的操作标志。 Django 使用 3 个标志:1 用于插入,2 用于更新,3 用于删除。我用我的行动标志扩展了该列表。

正如我所说,使用它的优点是,您不需要处理默认的 Django 管理表单以及使用这些表单执行的任何操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Django 中存储用户活动 的相关文章

随机推荐

  • 如何将 slidify 与 impress.js 一起使用

    下列的https twitter com ramnath vaidya status 274636089715740672 https twitter com ramnath vaidya status 274636089715740672
  • 禁用 Xamarin 表单并显示活动指示器

    我有一个使用滚动视图的 Xamarin 表单 我试图在顶部显示一个活动指示器 因为中间有一个 ListView 但是当用户向下滚动时 不会显示加载 因此 我需要帮助来禁用页面并在弹出窗口中显示某些 z index 处的加载 如果你想在屏幕加
  • 如何将TTF字体添加到html2pdf PHP程序

    我正在尝试将 HTML2PDF 4 03 与此代码一起使用
  • 如何使用 Spotify SDK 和 Swift 3 正确处理令牌刷新。错误代码=3840

    tl dr我收到 JSON text did not start with array or object and option to allow fragments not set 如果我想接收令牌并且No refresh token a
  • 从现有 docker 容器中删除端口绑定

    目前我有一个用以下命令创建的容器 docker run detach name gitlab app restart always publish 192 168 0 200 80 80 publish 192 168 0 200 22 2
  • 步骤向导形式

    我正在使用角度动态表单进行角度应用程序 我需要将表单分成两部分 其中我有输入字段firstname and lastname在第一页 然后单击下一个按钮 其中的子项email and dropdown需要加载 Html
  • window.URL.revokeObjectURL() 不会立即释放内存(或根本不释放内存)?

    我正在制作一个 html 界面 通过拖放和多个选择文件将图像上传到服务器上 我想在将图片发送到服务器之前显示它们 所以我首先尝试使用FileReader但我遇到了一些问题 比如这个帖子 https stackoverflow com que
  • CSS 框阴影不是真正透明的?

    这是一叠 8 个白色框阴影 底部为蓝色背景渐变 其他地方为白色背景 按照我的逻辑 白色背景上的白色框阴影应该会产生白色 但显然有一个灰色的边缘将白色 div 与白色背景的其余部分分开 生成这个的 css 是 content sidebar
  • 使用 SQLITE 为 Google App Engine 进行本地 Django 开发?

    我正在使用 Google App Engine 在 Django 中进行开发 对于生产 我计划使用 Google Cloud SQL 但对于本地开发 我想使用简单的 SQLITE 谷歌教程 https developers google c
  • 无法使用 NHibernate 加入分布式事务

    我在单元测试中发现一个问题 Oracle 抛出异常并显示消息 无法加入分布式事务 我们正在使用 ODP net 和 NHibernate 在嵌套事务内对数据库进行一定数量的提交后 就会出现此问题 令人烦恼的是 这在持续集成服务器 Windo
  • 在嵌套匿名结构上忽略 C++ 私有修饰符

    以下示例代码在 Visual C 中编译得很好 class Test private struct struct int privateData int main int char Test test test privateData 0
  • 使用 PHP + XDEBUG 时在 VS Code 中显示长字符串

    我正在使用 VS Code 进行 PHP Web 开发 带有 XDEBUG 的 VS Code 在显示字符串值变量方面似乎受到严重限制 变量和监视窗口仅限于窗口宽度或第一个换行符 您可以通过评估字符串在调试控制台中显示更多内容 但最多只能超
  • 找不到类“android.app.Notification$Builder”

    我已将 android support v4 jar 添加到我的项目库中 但我收到此错误 Could not find class android app Notification Builder referenced from metho
  • SVG 变换旋转 90、180 或 270 度,在 Safari iOS 10 中不适用于圆形

    我想通过设置使用 SVG 圆形元素创建一个圆环图stroke dasharray和变化的stroke dashoffset SVG 元素需要旋转 270 或 90 度才能使图表 条 从顶部开始 这是代码 http jsfiddle net
  • 有没有办法使用 std textio 在 vhdl 中多次读取文件?

    我试图了解如何在 vhdl 中读取文件 如果我打开一个文件 通读它 测试文件结尾 关闭文件 然后重新打开该文件 然后再次开始读取 它会从开头开始吗 文件 非常感谢 向 VHDL 语言的权威寻求答案 IEEE 标准 1076 2008 5 5
  • C++ Win32 API 删除带进度条的文件

    使用Windows API 有没有办法删除一个大文件 比如说1GB 并以某种方式监控进度 我确信这是可能的 但我不知道从哪里开始 编辑 应该更具体 我想将文件移动到回收站 并显示类似于探索的进度条 尽管我可能希望在控制台或其他东西中显示进度
  • Wamp 2.2 安装 PEAR

    我的操作系统是Windows 7 我的电脑上安装了 WAMP2 2 然后我尝试安装PEAR 然而 我找不到我的go pear bat文件在我的 wamp 目录中 美好的 我在这里下载 http pear php net go pear ph
  • 将大文件从 Google Cloud Storage 加载到 Google Cloud Functions 中?

    有没有办法将大文件 gt 100MB 从 Google Cloud Storage 加载到 Google Cloud Functions 中 我在他们的书中读到quotas https cloud google com functions
  • 从 bash 脚本更改导出变量的值

    我从 bash shell 执行了以下操作 export myPath home user dir 然后我通过从 shell 和 bash 脚本内部 回显 该值来验证该值 两者都工作得很好 然后我尝试从这样的脚本内部设置该变量的值 myPa
  • 在 Django 中存储用户活动

    我正在寻找存储用户的活动 但我不确定将其存储在哪里 我不认为数据库是一个选择 因为它会非常大 我想知道 Facebook Dropbox 等网站如何记住特定用户的所有活动 并且它不能存储在会话中 因为这不是特定于会话的而是特定于用户的 请帮