在模板中显示session django_timezone

0 投票
2 回答
504 浏览
提问于 2025-04-18 13:19

我想在我的网站上添加时区功能。我已经安装了 django_easy_timezones,并且还 添加了一个表单,这样用户就可以更改时区了。

这个功能运行得还不错(不过如果能在网站的头部用ajax实现全站表单就更好了),但我想让用户或者匿名用户看到当前选择的时区。我原以为下面的代码可以实现这个功能。

{{ request.session.django_timezone }}

但是它什么都没有显示(可能是 Null 吧?)。

如果我通过视图传递 request.session['django_timezone'],那就可以正常工作。在我的例子中,它会打印出 Europe/Prague

所以我有几个问题:

  1. 为什么 {{ request.session.django_timezone }} 不起作用?
  2. 我能不能打印出 "UTC+1" 而不是像 America/North_Dakota/New_Salem 这样长的时区字符串?

2 个回答

0

在你的具体情况下,我觉得这个对你会有帮助:

https://github.com/adamcharnock/django-tz-detect

我已经用过了,效果很好!

0
  1. 不知道为什么,但它开始正常工作了。可能只是重启一下就好了。
  2. 我现在不知道怎么把时区改成+1,不过我先就这样放着。如果想要更短一点,我就从最后的/那里裁剪一下。

撰写回答