uliweb作者是国内python高手limodou,一直在他写的用ulipad,感觉很不错。
今天抽空看了一下uliweb的教程,把uliweb里面自带的demo guestbook用svn下载下来试了一下,结果出错了。出错图如下所示:
一头雾水,秉承"知之为知之,不知google之"的优良传统,搜一下,也没什么结果,可能uliweb还是比较新的东西,大家接触并讨论的比较少。看起来这次要靠自己了。仔细看了一下错误,是说datetime的值为None,没有strftime属性。有点类似C中的空指针啦。
最后把错误定位在 /demos/guestbook/apps/GuestBook/models.py代码如下
如果猜的不错,应该是最好一句Field返回值为空。
为了验证我的猜测,只有到源代码中需找答案了,Field 的datetime功能是由orm模块DateTimeProperty,打开文件/uliweb/orm/__init__.py(版本是SVN:223)
转到第337行查看DateTimeProperty类的构造函数
呵呵,问题应该就出在注释掉的几行,我查询了一下SVN的log,应该是在220和221版本之间修改了这几行。
有个疑问是 auto_now_add和 auto_now有什么区别吗?这个还没想想通。
我们就找到了解决这个问题的方法了:
将 /demos/guestbook/apps/GuestBook/models.py中的最后一行的auto_now_add 修改为 auto_now即可:
总体来说,uliweb还是挺不错的,比django还容易上手,继续学习……