问题标签 [django-timezone]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 在 Django 中使用多个时区
我正在开发的应用程序以美国为目标用户。而且(您可能知道)在美国有不止一个时区。所以我有一些疑问:
- 那么如何根据当前用户获取服务器端的当前时间呢?
- 我如何存储
DateTime
数据以显示每个用户的正确时间? - 我如何比较时间(例如:)
user.event.created > datetime.now()
?将.now()
使用哪个时区? settings.py
我应该在文件中设置什么 TIME_ZONE 。
这是一个 API,不能通过 JS 获取用户的时区。我通过 TokenAuthentication 获取当前用户。
django - django 表单中的时区感知 DateTime 字段
简而言之,我试图向用户展示一个使用时区感知日期时间对象初始化的 DateTime 字段,允许他们对其进行编辑并将其发回。没有做任何特别的事情,我会收到一个关于非时区感知日期时间被返回到表单的 DateTime 字段的警告。
我从阅读django 时区文档开始。我安装了 pytz ( pip install pytz
) 并确保USE_TZ = True
已设置。
我正在使用django-easy-timezones,它根据请求者的 IP 设置“当前”时区并调用timezone.activate()
. 据我了解,TIME_ZONE
否则该设置将用作默认设置。我还在django-bootstrap3-datetimepicker
我的表单中使用了一个不错的小部件。
时区似乎没有与初始表单数据一起发送。相反,“当前”时区用于创建和发送一个简单的本地日期时间。据此,我收集该clean_[field]
方法旨在假设 POST 中返回的内容也在“当前”时区中。这是自动完成的还是我打算让数据时区自己知道?如果是这样,为什么我会收到警告?
简单地来回发送时区是否更有意义,始终具有时区感知日期时间?如果是这样,这里讨论了获取 javascript 的日期时间,但我还没有找到一种将它返回到 DateTime 字段格式的好方法(特别是在小部件不使用带时区的格式的情况下)。
python - 使用 django 查询返回活动时区中的日期时间
我正在尝试从表中检索最后 n 小时的行并在给定的时区打印它们的日期时间,给出打印日期时要使用的时区,我正在尝试使用 activate 使 django 返回具有正确时区的日期时间但是它以 UTC 格式返回日期。
这是我当前的代码:
我想避免使用 astimezone 函数并让 Django 为我执行此操作,有时我会错过激活函数吗?
编辑
这是我的模型,您可以看到要显示的时区保存在“监视器”模型上:
python - date_hierarchy 中的 Django Admin NonExistentTimeError
我刚刚在 Django Admin 中遇到错误。这是本地转载的日志:
我发现在我的时区('America/Sao_Paulo')中确实2015-10-18 00:00:00
不存在,因为那是夏令时开始的时候。
我正在使用date_hierarchy = 'date_lastupdated'
,当我在管理员中搜索用户时,someuser@hotmail.com
Django 只返回一条记录,而这个用户date_lastupdated
是'2015-10-18 05:10:18.593336-03'
.
错误发生在模板~~~~/Python27/lib/site-packages/grappelli/templates/admin/change_list.html
第 212 行:
因此,Grappelli 正在尝试在管理列表中仅构建一次层次结构分数链接,但它不起作用
我能够在两台机器(Linux 和 Windows)上重现它,我升级了 PYTZ。仍在 2015.4 和 2015.6 版本中发生。
这是一个已知的问题?
python - Django:DateTimeField 收到一个天真的日期时间
我正在创建一个仅显示截止日期尚未过去的帖子的视图。为此,我添加了以下我的 views.py 文件:
这样,我只能显示截止日期范围在今天和 2999 年 12 月 31 日之间的帖子。但是我收到以下错误,并且根本没有帖子显示:
过去发布的解决方案让我尝试以下也不起作用:
起作用的是,如果不是输入:timezone.now(),而是输入一个实际日期,例如“2015-10-10”,但这会违背目的。关于如何解决这个问题的任何想法?
python - Django / DRF - 更改时区不起作用
这是我的settings.py:
以前是这样,TIME_ZONE = 'UTC'
但我现在才改了。我在更改它并创建了一个帖子后重新启动了开发服务器,但创建帖子的日期和时间现在仍然根据多伦多时区(它仍然遵循它所在的前一个时区)。我的模型使用默认的 DateTimeField:
为了使时区更改生效,是否还有其他需要更改的内容?我只是试着做
但它说没有检测到变化(如预期的那样)。
编辑:请注意,我还使用 DRF 和序列化程序来序列化帖子。我不确定这是否会有所不同(我需要更改任何 DRF 设置吗?)。
python - 在 Django 中过滤具有日期时间范围(00:00 到 23:59:99)的对象
我使用带有日期的 django 模型过滤器。
原始数据的时间为非洲/阿比让(UTC+00:00),我将此数据保存在我的数据库中。
我设置了关于亚洲/首尔(UTC+09:00)的时区,它保存在我的数据库中。
但是我用 time_range=[2015-11-15, 2015-11-16] 过滤数据,我得到了大约从 15 点到 14 点的数据。我想从 0 点到 23 点获取数据。
我怎样才能得到这个?我做这个 url,但效果不好。
如果我有一个类似帖子的模型,并且我从用户那里得到日期。
我使用了上面的代码,得到了 2015-11-15 15:00:00 到 2015-11-16 14:00:00 的数据。
django - 为什么 Django 中 unittest 中的时区与视图中的时区不同?
我正在使用 TestCase.client 来测试我的观点。当我timezone.now()
从测试用例打电话时,我得到 2015-11-17 07:48:26.826661+ 00:00,但是当我打电话时
从视图中我得到 2015-11-17 07:36:00+ 02:00。
如何让他们使用相同的时区?
我正在使用./manage.py test --settings=www.tests_settings
并www/tests_settings.py
包含以下内容:
python - 来自 xignite 的数据的 Django 时区
我正在使用来自 xignite 的股票数据。
我真的相信我搞砸了日期,因为(不能说好)它肯定涉及多个时区(由于多个国家)。
如何做好时区?
例如,如果有人看到 2015 年 5 月 25 日的数据,由于忽略时区,它不应显示为 24 日或 26 日。(我目前不管理时区)。
我通过 csv 格式获取数据,然后使用 python 来额外/修改数据并使用 python(不是 Django)保存到 db。我不碰日期(除了保存它)。
然后我使用 Django 并将使用来自 StockData 模型的数据。
在几分钟内添加代码以显示数据。
库存数据模型:
每当我想显示时,我都会做
我在 settings.py 中添加了一些随机时区
django - Django 过滤器 - url 过滤器参数中的硬编码时区
我使用 django 过滤器后端和 Django rest 来构建一个 rest api。在某些端点,用户可以按日期时间过滤请求,例如
将形成一个有效的请求。对所有传入的日期时间请求使用 Django 的时区支持USE_TZ=True
将被视为最终用户的本地时间。例如,如果该请求来自柏林,则过滤将在2015-11-20 10:22:15.160983
柏林时间为 GMT+1 时发生。有没有办法在请求中硬编码时区,以便过滤机制使用明确指定的时区?
我知道我可以手动检查查询参数并从中理解,然后执行过滤,但我正在调查此功能是否已在内部实现django-filter
。
例如,我可以使用类似的东西吗
?