django项目中的时间问题

首先,在使用mysql数据库的时候,并没有使用数据库的时间格式,而是,直接在数据库中将时间保存为字符串的。结果项目上线之后,发现时间并不是北京时间。项目上线是在ubuntu16.4上,使用uwsgi和nginx部署的。下边记录我解决问题的步骤

1排除数据库的问题

因为并没有使用数据库中的时间格式,只是在数据库中保存的字符串,所以肯定不是数据库的问题

2排除ubuntu系统

使用date查看了ubuntu的系统时间,发现系统时间正常

3排除python

使用python的shell。import datetime包 然后 print(datetime.datetime.now()) 发现时间也是正常的。感觉,python中使用的时间模块应该是调用的系统的时间。

4只能是django的问题了

使用python manage.py shell进入django的shell 执行import datetime和print(datetime.datetime())两条命令之后。终于发现时间是不正确的。

找到问题之后就需要来解决问题了

进入项目的settings.py文件
找到

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'Asia/Shanghai' #将这一项的内容改成你所需要地区的时区国内使用

USE_I18N = True

USE_L10N = True

USE_TZ = False  #这一项设置为false,设置为true将默认使用美国时间  ,这也是之前出错的地方所在

现在我们检出项目中的时间,就会发现,时间已经正常

你可能感兴趣的:(django项目中的时间问题)