django m2m自包含

设计一个group,可以包含user也可以包含group。user和group都可以被多个group包含。 class Group(models.Model): users = models.ManyToManyField(User) groups = models.ManyToManyField(‘self’) update: ManyToMany对象有一个symmetrical的参数,当为True时的意思是对象间有互相拥有的关系,是双向的,反之为False时就是单向的。

对待平等

云风的一篇平等讲述了他们团队对平等的一些理解。herock又对平等产生了许些质疑。我从电影King Arthur里觉的人与人之间的平等是重要的,也是人与人之间互相尊敬的一个基础。其实真正的平等并不存在,herock重在说明这一情况(唯物)。而云风则更注重人对人的平等,且不论平等是否存在(唯心)。 摘电影里的一句话 Every man must be equal. 我当时取名Gawain(圆桌骑士之一)即是受这部电影的影响。

django login

最近写一个django项目的时候犯懒,把admin的login form给简单的扒出来用了用,感觉还不错。 先把display_login_form给扒出来 def display_login_form(request, error_message=”, extra_context=None): request.session.set_test_cookie() context = { ‘title’: ‘Log in’, ‘app_path’: request.get_full_path(), ‘error_message’: error_message, ‘root_path’: ”, } context.update(extra_context or {}) return render_to_response(‘admin/login.html’, context, context_instance=template.RequestContext(request) ) 然后自己再写一个login def login(request): if request.POST: username = request.POST[‘username’] password = request.POST[‘password’] user = auth.authenticate(username=username, password=password) if user is not None and user.is_active: auth.login(request, user) return http.HttpResponseRedirect(request.get_full_path())…

易用的touchpad

有个朋友最近入手一台二手iBook(Late 2004)。试用了一下,发现Touchpad不支持双个手指滚动的功能,立时感到易用性下降许多。 我用的是Mid 2005版,有双个手指滚动的功能,很方便。以前有一个单键的Apple Pro Mouse,但是很不好用,后来索性把鼠标拨了不用了,直接用Touchpad。键盘使用的频率要比鼠标高的多,要用到鼠标,手掌就会离开托手的位置,之后再回到托手的位置,Touchpad虽然精度不高但是手掌不用离开托手(我是懒人)。如果仅是如此还是不够,要拖动滚动条的时候还是麻烦,Touchpad远不如鼠标的滚轮方便,但是Apple近乎完美的解决了这个问题,就是用两个手指滚动,这远比其他厂商采用的右侧滚动区(HP等)或第三键滚动(IBM)方便的多。 虽然现在的MacBook都有了Multi-Touch,其易用性也已经不可同日而语了,但我觉的最重要的还是两个手指(two finger)滚动(两个手指还可以当右键使two finger+单击)。