我有一个模型,它有一个日期时间字段
class MyModel(models.Model):
...
created_at = models.DatetimeField(auto_now_add=True)
时区配置 settings.py:
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
我有两个问题:
首先,当我想在管理中显示created_at时,如何显示本地时间
其次,当我在序列化程序中使用它时:
class MySerializer(ModelSerializer):
class Meta:
model = MyModel
fields = (..., 'created_at',)
注意:我的应用有来自不同国家/地区的用户。
我实际上想要客户端的用户时区
实际上,我在 django 或 django rest 中找不到用户的本地时区。我只是将日期时间以 UTC 格式存储在 db 上,然后在前端将其转换为本地时区。我的前端是Angular 5.0。然后我可以使用日期管道进行此转换。
根据区域设置规则设置日期值的格式。
{{ value_expression | date [ : format [ : timezone [ : locale ] ] ] }}
样本:
{{ created_at | date: 'short' }}
输出:18-8-5 下午3:15