给micolog的后台添加留言访客useragent记录 - Angel's Blog.

ing
 
 
软件开发,程序设计,前端设计
 
 
首页 > code, share > 给micolog的后台添加留言访客useragent记录

给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。

 

或者通过RSS 关注本站的更新 ^ O ^ 。” —  by  转载请注明:来自 Angel's Blog.
本文永久链接: http://www.0ee.com/2011/02/21/use-python-to-add-useragent-recorder-for-micolog.html
 
分类: code, share标签: , ,
 
  • QQ书签
  • Del.icio.us
  • 百度收藏
  • Google
  • 饭否
  • FriendFeed
 

 
评论 (21) Trackbacks (0)
发表评论 Trackback
 
21 Comments Contributed by Visitors
  1.     佛言无罪 2011年7月20日09:48 21#

    哥们这UI做的真棒

Leave Comments Here...

:) :-D :( :-o 8-O :-? 8) lol :-x :-P oops cry evil twisted wink ? idea :-| arrow mrgreen roll !

(required)

(required)

网址随您("http://"可以省略)

(Ctrl+Enter)

  • 本站不会泄露您的 Email 地址, 敬请放心.
  • 本站已开启缓存, 请不要重复提交评论.
  • 请注意: 带有 《广告(链)、不健康、或者 产品名字》 的评论一律视为spam.
  • 支持常用 HTML 标签调用, 插入 HTML 标签需注意: < == &lt;> == &gt;.
  • 仅当某人针对您的评论做出回应时, 您才会收到由本站发出的邮件通知.
  • 如您希望以相同方式通知某位网友, 请点击  按钮进行回复.
  • 允许在评论中使用如下代码: 
    <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> 
    <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> 
    .
  • 鼠标悬浮到评论中的 @someone 区域即可自动显示 someone 的评论内容.
 
 
  • 正在加载...