出于统计目的,我需要记录每次在Django中查看模型的某个实例时的日志。我首先创建了一个单独的模型Stats,它包含一个ManyToMany
字段到另一个模型,用于存储访问的日期和时间。每次在视图中访问对象时,我都会更新关联的Stats
对象。
这种方法存在两个问题(如果不是更多):
GET
请求上写入任何数据的原则。 所以我的问题是,有更好的方法吗?如果没有,有哪些技术可以加快速度,例如延迟写入数据库?我从来没有在Django中使用过那种东西,所以任何建议都会受到赞赏。
答案 0 :(得分:2)
是的,似乎Celery似乎是一个不错的选择。
答案 1 :(得分:1)
不要担心(1)。维基百科说:
安全方法一些方法(for 例如,HEAD,GET,OPTIONS和TRACE) 被定义为安全,这意味着他们 仅供参考 检索,不应该改变 服务器的状态。换一种说法, 他们不应该有副作用, 超越相对无害的影响 例如日志记录,缓存,服务 横幅广告或 递增网络计数器。制造 不考虑任意GET请求 到应用程序的上下文 因此应该考虑国家 安全
我会说保持一定数量的观点被视为“大多无害”。