繁体   English   中英

Django admin:时区显示

[英]Django admin: timezone display

所以我正在创建一个应用程序,您可以在其中找到在各个位置发生的活动

在django-admin页面上,我希望能够修改活动(有效)。

但是活动有一个开始时间 - 我希望这个开始时间与位置在同一时区。

所以我希望它在活动管理页面上显示与位置相同的时区中的开始时间,但是当保存时它应该转换为UTC时间。

starttime采用内联formset,因为它可以有多个开始时间。

我找到了一种在保存对象时更改日期时间的方法,但是当它在内联函数中呈现时,我无法找到修改它的方法。

如何修改管理页面中呈现的数据?

所以我希望它在活动管理页面上显示与位置相同的时区中的开始时间,但是当保存时,它应该转换为UTC时间。

根据Django关于表格中时区感知输入的文档( https://docs.djangoproject.com/en/1.10/topics/i18n/timezones/#time-zone-aware-input-in-forms ):

当您启用时区支持时,Django会解释在当前时区中的表单中输入的日期时间,并在cleaning_data中返回有意识的日期时间对象。

根据我的理解,你想要的是什么。 这导致我们进入默认时区和当前时区https://docs.djangoproject.com/en/1.10/topics/i18n/timezones/#default-current-time-zone ),其中指出:

当前时区是用于渲染的时区。

您应该使用activate()将当前时区设置为最终用户的实际时区。 否则,使用默认时区。

因此,使用activate()https://docs.djangoproject.com/en/1.10/ref/utils/#django.utils.timezone.activate )来设置时区参数,你就可以了。

尝试设置
USE_L10N = False上的USE_L10N = False

https://docs.djangoproject.com/en/1.9/ref/settings/#use-l10n

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM