最近开发的时候遇到了一个Django中普遍存在的问题, 去系统当前时间总是有误,研究了很久,很查了很多资料,最终还是采用加减偏移量来实现时间的正确获取。由于原先取当前时间的操作是直接在__init__中的一个方法中,只有简单一句话,为了涂个方便,就在__init__中直接定义了一个获取当前时间的方法getRealTimenow(),由于当时是在linux服务器上直接改的,也就没运行如下命令:
python manage.py runserver
服务器上能正常运行,也就没太在意,今天在本地windows下运行 开发服务器的时候,竟然就无法访问对应的Rpc summay页面了,总是报“ global name 'dispatcher' is not defined”错误,而且是直接指向rpc4django文件夹内的,猜测也不可能是rpc4django的问题,但是还是从新下了一个新版的rpc4django,然后django也重新安装了,就差没重装python了,反反复复的查,一点进展都没有。最后是通过注释RPC相关文件发现了问题的局部位置,也就凭猜测可能是由于上述提到的在__init__中注册的方法,将该方法移到其他文件,原先遇到的问题竟然就莫名其妙的好了,惨痛的教训,以后干事情还得规范点,不然遭罪。
强调一下:在django中注册RPC方法的__init__文件不要定义其他非RPC方法