给micolog的后台添加留言访客useragent记录
哎。。这两天忙着做jsp项目,写页面写的我感觉真恶心,很累,小组的所有ui都由我设计;
不过欣喜的是,最近收了一张05动感地带s的cmwap无限流量(收来不便宜也不容易),收来第二天就到了我们这里某个营业厅,申请将cmnet接入点屏蔽,也是在我的再三威胁下(“不给屏蔽就投诉到工信部”),才给予受理的,edge速度还是很不错的,嘿嘿,这回就不怕误上cmnet了。
昨天又收了一台黑莓8700,现在的黑莓真的很白菜,嘿嘿,昨天下午5点多在某论坛的玩家那里拍一部(150包邮,二手手机价格掉的太猛,,感叹啊。。),今天中午就收到了手机,申通在省内的速度还不赖(从南阳到洛阳),收到手机后用起来还不错。。
额。。废话少说,入主题,更新一下blog,快半个月没更新了,都快长草了;
之前一直对python中的useragent(用户代理)感兴趣,在放寒假的短暂假期小研究了下,其实在python中,useragent还是很好用也很好实现的。
先简单地介绍下神马是useragent:
“useragent:是一个只读的字符串,声明了浏览器用于HTTP请求的用户代理头header的值。”
各种各样的useragent字符串就不多介绍了,自己查找资料看看。
如果我想知道留言访客的信息,那么使用useragent再好也不过了(虽然访客有cheat的可能)。
接下来介绍在基于python的micolog后台,添加记录留言访客的useragent信息:
1)首先,找到blog.py文件,在“Post_comment”类下的post方法添加user_agent:
def post(self,slug=None):
#前面的代码省略了。。
parent_id=self.paramint('parentid',0)
#注意下面一行的user_agent需要添加。
user_agent= self.request.headers['User-Agent']#这个是需要添加的
reply_notify_mail=self.parambool('reply_notify_mail')
下面的也需要添加:
if not (name and email and content):
if useajax:
self.write(simplejson.dumps((False,-101,_('Please input name, email and comment .'))))
else:
self.error(-101,_('Please input name, email and comment .'))
else:
comment=Comment(author=name,
#前面的代码省略了。。
entry=Entry.get(key),
useragent=user_agent)#这个是需要添加的
2)然后在找到model.py,然后找到“Comment”类:
在class Comment(db.Model):中添加useragent属性:
class Comment(db.Model):
no=db.IntegerProperty(default=0)
entry = db.ReferenceProperty(Entry)
date = db.DateTimeProperty(auto_now_add=True)
content = db.TextProperty(required=True)
author=db.StringProperty()
email=db.EmailProperty()
weburl=db.URLProperty()
useragent = db.StringProperty()#这个是需要添加的
status=db.IntegerProperty(default=0)
以上的python代码记得要缩进。
3)最后,修改根目录viewsadmin下的comments.html文件:
找到“<th>{% trans “IP” %}</th>”,换行,然后添加:“<th>信息</th>”(django国际化懒得弄了)
然后再找到“<td>{{comment.ip}}</td>”,还是换行,添加“<td>{{comment.useragent}}</td>”。
4)别着急,这还没完事,修改根目录下的index.yaml文件:
添加如下的索引:
- kind: Comment properties: - name: useragent - name: date direction: desc
好了,修改后部署到空间,然后自己先提交测试下留言,到后台看看效果吧。
下一次更新日志还会更新关于python中使用useragent。
P.S. “喜欢本文?现在就把它分享到 Weibo 或者通过RSS 关注本站的更新 ^ O ^ 。” — 转载请注明:来自 Angel's Blog.
本文永久链接: http://www.0ee.com/2011/02/21/use-python-to-add-useragent-recorder-for-micolog.html
哥们这UI做的真棒