1
paloalto OP 用Celery似乎是个解决办法?
待我去研究研究先。 |
2
davidx 2012-08-30 10:29:52 +08:00
其实, 你还可以使用google的analytics
|
3
mikale 2012-08-30 12:46:40 +08:00
用js是最简单的办法,加载页面js会执行,然后发送ajax请求给后端,然后后端做一个记录就是了
|
4
hbc 2012-08-30 12:53:24 +08:00
你在每个 view handler return 之前增加一下数据库里的浏览次数就好了……
|
5
yetone 2012-08-30 15:38:41 +08:00
你要查看的就是『数据库的读取次数』
|
6
paloalto OP @davidx
@mikale @hbc @yetone 看来我想多了,@hbc 的办法似乎是最简单的。 class photo_single: def GET(self, id): img = image.get_img_by_id(id) if img: #....... image.add_img_hit(id)#浏览数字段加1 #....... return view.photo_single() 这样的结果会是每次刷新页面都会+1?虽然不是很合理,但是既然V2EX是这么做,那我也先这么写吧。 @davidx 用google analytics做这个的话怕是有点绕远路吧? @mikale 用js也是个办法,我原先怎么没想到呢。 @yetone 数据库的读取次数我不知道怎么得到,O_O 我先按@hbc 的办法写,然后再想想怎么排除那种一个人单独刷新的情况。好像每次增加数据库里的浏览次数之前需要判断一下访客的id是否发生了变化的?但那样就好像变成“多少人浏览”而不是“多少次浏览”了。 |
7
paloalto OP 成功给浏览数+1了。
|
8
CoX 2012-08-30 17:24:47 +08:00
刷新算一次点击很正常吧,现在v2ex应该也是这样计算的
|
9
davidx 2012-08-30 17:37:09 +08:00
@paloalto google analytics带给你的功能, 绝不只是页面访问次数
访问者的浏览器信息, 浏览器语言, 国家, 等等各种信息, 都有 |
10
paloalto OP @davidx 但我觉得GA更适合大范围的网站统计啊,把每条数据从GA读出来显示在对应的每个页面,好像没有网站这么做吧。GA提供了这方面的api吗?
|
11
paloalto OP @CoX 是的,V2EX现在也是这么做的。
豆瓣相册的做法是“xxx人浏览”,而且只能相册主人自己能看到。是按人来统计,多次刷新页面不会发生变化。 flickr的是“xx次检视”,多次刷新页面也不会发生变化,估计也是按人来算的,只是换了个说法而已。 |
13
paloalto OP @CoX 对,豆瓣和flickr都没法查看哪些人浏览了某张图片,因为这样的确是没什么必要。
不过应该可以不用表记录浏览过的人就可以得到多少人浏览过的,把这个数记到一个字段里就可以,但现在我还没想出怎么按人来记录浏览数。 |
15
jamiesun 2012-09-02 21:42:52 +08:00
根据ip。或者cookie来计算
|