django 已登陆用户的权限问题

我在做一个在线日记的网站,遇到了一个问题,就是限制已经登陆的用户的权限,让他们不能看到其他用户的日记。

上代码:

 1 def hide(self, **kwargs):
 2         user_id = int(self.request.user.id)
 3        
 4         pk = int(self.kwargs['dpk'])
 5         
 6         if pk == user_id:
 7             hide = False
 8         else:
 9             ab_user = User.objects.get(pk=self.kwargs['dpk'])
10             hide = ab_user.profile.hide
11         
12         return hide

url中的dpk参数要通过 self.kwargs["dpk"]来获取,而且dpk是一个字符串,通过强制类型转换把dpk 和user.id改成 int型来比较。

在模版中调用时要用到{{ view.hide }}

第10行中利用onetoonefield中定义的related_name就可以调用UserProfile中的数据了。

这点代码搞了好长时间啊。

posted @ 2014-04-21 22:08  大漠小雨  阅读(444)  评论(0编辑  收藏  举报