这篇博客讲的是一次 debug 的过程,觉得比较有意思就写一写2333
11.14 的早上,当我在 Lenotes 中创建一个新的 Diary 的时候呢,发现在创建当天的Diary后,还显示着 create new diary 的按钮,因为我们的页面设计导致如果存在日期为同一天的两篇 Diary 会导致时间条的混乱,因此呢,我们便开始我们的Debug之旅啦。
首先,我们登陆服务器,打开 shell 检查各个 Diary 的 date_added
可以看到有两个11.13的diary,这是为什么呢,百思不得其解之后我创建了一个新的日记来测试(时间为09:09:08),然而后台却发现其记录的date_added为(01:09:08),如下图
熟悉时区的人很容易推断出是时区设置的问题,你编写日记的时候使用的是服务器的时间(东八区),而保存的时候却是UTC时间,因此出现了奇怪的错误(参考博客 django时区问题时间差8小时 中有如下说明)
很显然,我们的问题就出在 schnee/settings.py 上,因此我们做出如下的修改
将 USE_TZ=True 改成 USE_TZ=False从而解决以上的问题,之后清理有冲突的日记并创建新的日记,可以看到储存的时间为东八区时间
以上就是本次 Debug 的过程啦,时区问题一直是比较头疼的问题,可能会和你的 服务器时区设置,项目文件设置,数据库系统设置 有关,当你遇到时间记录方面的问题的时候,可以从这三个方面寻找解决的方案。