2011-04-21 67 views
7

做一個近期的身材,我跑了Django的執行syncdb,而我得到的錯誤:無效Django的TIME_ZONE

Traceback (most recent call last): 
    File "manage.py", line 11, in <module> 
    execute_manager(settings) 
    File "/usr/lib/python2.6/site-packages/Django-1.3-py2.6.egg/django/core/management/__init__.py", line 438, in execute_manager 
    utility.execute() 
    File "/usr/lib/python2.6/site-packages/Django-1.3-py2.6.egg/django/core/management/__init__.py", line 379, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/usr/lib/python2.6/site-packages/Django-1.3-py2.6.egg/django/core/management/__init__.py", line 252, in fetch_command 
    app_name = get_commands()[subcommand] 
    File "/usr/lib/python2.6/site-packages/Django-1.3-py2.6.egg/django/core/management/__init__.py", line 101, in get_commands 
    apps = settings.INSTALLED_APPS 
    File "/usr/lib/python2.6/site-packages/Django-1.3-py2.6.egg/django/utils/functional.py", line 276, in __getattr__ 
    self._setup() 
    File "/usr/lib/python2.6/site-packages/Django-1.3-py2.6.egg/django/conf/__init__.py", line 42, in _setup 
    self._wrapped = Settings(settings_module) 
    File "/usr/lib/python2.6/site-packages/Django-1.3-py2.6.egg/django/conf/__init__.py", line 125, in __init__ 
    raise ValueError("Incorrect timezone setting: %s" % self.TIME_ZONE) 
ValueError: Incorrect timezone setting: America/New_York EST5EDT SystemV/EST5EDT US/Eastern 

我沒有改變我的任何核心設置,所以我不知道爲什麼我會突然得到這個錯誤。我的settings.py文件中的值是TIME_ZONE = 'America/New_York',根據this,這是一個有效值。爲什麼Django不接受這個值?

回答

24

根據錯誤信息:

ValueError: Incorrect timezone setting: America/New_York EST5EDT SystemV/EST5EDT US/Eastern

似乎TIME_ZONE,在settings.py,等於:America/New_York EST5EDT SystemV/EST5EDT US/Eastern

您必須只America/New_York寫。

如果不是這種情況,請檢查文件是否存在:

/usr/share/zoneinfo/America/New_York

,如果它是不存在的,該時間段是您的系統上無效。

(有效時間區域在/usr/share/zoneinfo/

+0

你說得很對。在我的settings.py的舊緩存版本中導致了部署腳本中的一個錯誤,該錯誤版本具有無效的TIME_ZONE值。 – Cerin 2011-04-22 15:04:34

+1

另請注意,失敗的設置可能與'TIME_ZONE ='America/New York''一樣細微,而不是'TIME_ZONE ='America/New_York''這就是我發生的事情,而且我有一個兩歲的版本Django的。 – octopusgrabbus 2012-08-06 15:09:00