模板标签“timezone”有一段时间了。
## template
{% load tz %}
{% timezone 'Asia/Seoul ROK' %}
{{ reservation.datetime|date:"G:i A e" }}
{% endtimezone %}
我已经写过USE_TZ = True / TIME_ZONE ='Asia / Seoul ROK' 我还安装了pytz模块并将模块移动到 我的项目(我在eclipse pydev上开发django。)
每当我运行项目时,我都会遇到以下错误。
Invalid timezone: u'Asia/Seoul ROK'
我怎么能解决这个问题?提前谢谢。
答案 0 :(得分:2)
尝试Asia/Seoul
?
Asia/Seoul ROK
中没有pytz.all_timezones
这样的时区。
修改:因此Asia/Seoul
会给您带来同样的错误。
也许pytz没有被导入。
这是错误来自django/utils/timezone.py
:
try:
import pytz
except ImportError:
pytz = None
...
...
if isinstance(timezone, tzinfo):
_active.value = timezone
elif isinstance(timezone, six.string_types) and pytz is not None:
_active.value = pytz.timezone(timezone)
else:
raise ValueError("Invalid timezone: %r" % timezone)
这很可能意味着毕竟pytz是None,你得到错误。
其他时区是否有效?如果没有,那么pytz导入必定是问题。
答案 1 :(得分:0)
我对pytz不太熟悉。但我认为你应该看看这个
Python - Pytz - List of Timezones?
尝试亚洲/首尔
我在python shell中尝试了它并得到了相同的错误
>>> a = pytz.timezone("Asia/Seoul ROK")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pytz-2014.7-py2.7.egg/pytz/__init__.py", line 180, in timezone
pytz.exceptions.UnknownTimeZoneError: 'Asia/Seoul ROK'