我有一个Flask应用程序,用于在数据库中存储用户的时区(来自pytz.common_timezones
)。
我使用UTC时间戳将记录存储在数据库中。
我想根据时区向最终用户显示这些记录。
最好是:
遍历每条记录并转换时区,然后再将其传递给render_template
?
- 或 -
在我的视图中定义一个在模板中执行此转换的宏?
是否有将天真时区转换为本地时区的最佳做法?
答案 0 :(得分:0)
我认为你在这里有两个不同的问题。真正的问题是如何最好地操纵你的模板 - 可以询问任何价值操纵。我会让其他人回答这个问题。
关于第二个问题:
是否有将天真时区转换为本地时区的最佳做法?
这并没有多大意义。 "幼稚"在python意义上意味着"不知道时区" - 所以,这并不是一个天真的时区"。
如果您的意思是从天真datetime
转换为知道datetime
,那么最好的建议是确保使用localize
功能,如the pytz documentation中所述。请勿尝试自己将其分配给tzinfo
媒体资源。
答案 1 :(得分:0)
恕我直言,第二种方法更好,因为服务器代码不必知道每个客户端的时区信息。此外,烧瓶扩展名(例如Flask-Moment)使此操作更容易实现。