gpt4 book ai didi

python - Django 管理员 : timezone display

转载 作者:太空狗 更新时间:2023-10-30 01:00:05 24 4
gpt4 key购买 nike

所以我正在制作一个应用程序,您可以在其中找到发生在特定地点的事件。

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

但是一项事件有一个开始时间 - 我希望这个开始时间与地点处于同一时区。

所以我希望它在事件管理页面上显示开始时间,与位置所在的时区相同,但保存后应将其转换为 UTC 时间。

开始时间位于内联表单集中,因为它可以有多个开始时间。

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

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

最佳答案

所以我希望它在事件管理页面上显示开始时间,与位置所在的时区相同,但保存后应将其转换为 UTC 时间。

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

When you enable time zone support, Django interprets datetimes entered in forms in the current time zone and returns aware datetime objects in cleaned_data.

根据我的理解,这就是您想要的。这将我们引向默认时区和当前时区 ( https://docs.djangoproject.com/en/1.10/topics/i18n/timezones/#default-current-time-zone ),其中指出:

The current time zone is the time zone that’s used for rendering.

You should set the current time zone to the end user’s actual time zone with activate(). Otherwise, the default time zone is used.

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

关于python - Django 管理员 : timezone display,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38730230/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com