时区“东部标准时间”未被识别。

7

我一直收到这个错误:

时区“Eastern Standard Time”无法识别

以下是代码:

def get_context_data(self, **kwargs):
    # Call the base implementation first to get a context
    context = super(IndexView, self).get_context_data(**kwargs)
    """Return the last five published posts."""
    context['latest_post_list'] = Post.objects.order_by('-pub_date')[:5]
    context['archives'] = Post.objects.datetimes('pub_date', 'month', order='DESC')     
    return context;

在我的模板中:
{% for archive in archives %}
    <li><a href="#">{{ archive.month }} {{ archive.year }}</a></li>
{% endfor %}

在我的设置中:

TIME_ZONE = 'America/Montreal'

我希望能建立一种归档系统,使得能够查看不同的月份和年份所发布的所有文章。
Environment:


Request Method: GET
Request URL: http://localhost:8000/blog/

Django Version: 1.6.1
Python Version: 3.3.3
Installed Applications:
('django_admin_bootstrapped.bootstrap3',
 'django_admin_bootstrapped',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'localflavor',
 'reversion',
 'autoslug',
 'blog',
 'acpkinballmanageleague',
 'acpkinballmanageteams',
 'acpkinballmanageevents',
 'acpkinballmanagemembers')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')


Template error:
In template C:\Users\Ara\Documents\Sites\kinball\blog\templates\posts\index.html, error at line 55
   time zone "Eastern Standard Time" not recognized

   45 :                     <nav class="tags">


   46 :                         


   47 :                     </nav>


   48 :                 </div>


   49 : 


   50 :                 <!-- Archives -->


   51 :                 <nav class="widget">


   52 :                     <h4>Archives</h4>


   53 :                     {% if latest_post_list %}


   54 :                         <ul class="categories">


   55 :                              {% for archive in archives %} 


   56 :                                 <li><a href="#">{{ archive.month }} {{ archive.year }}</a></li>


   57 :                             {% endfor %}


   58 :                         </ul>


   59 :                     {% endif %}


   60 :                 </nav>


   61 : 


   62 :                 <!-- Tweets-->


   63 :                 <div class="widget">


   64 :                     <h4>Twitter</h4>


   65 :                     <ul id="twitter-blog"></ul>


Traceback:
File "C:\Python33\lib\site-packages\django\core\handlers\base.py" in get_response
  139.                 response = response.render()
File "C:\Python33\lib\site-packages\django\template\response.py" in render
  105.             self.content = self.rendered_content
File "C:\Python33\lib\site-packages\django\template\response.py" in rendered_content
  82.         content = template.render(context)
File "C:\Python33\lib\site-packages\django\template\base.py" in render
  140.             return self._render(context)
File "C:\Python33\lib\site-packages\django\template\base.py" in _render
  134.         return self.nodelist.render(context)
File "C:\Python33\lib\site-packages\django\template\base.py" in render
  840.                 bit = self.render_node(node, context)
File "C:\Python33\lib\site-packages\django\template\debug.py" in render_node
  78.             return node.render(context)
File "C:\Python33\lib\site-packages\django\template\loader_tags.py" in render
  123.         return compiled_parent._render(context)
File "C:\Python33\lib\site-packages\django\template\base.py" in _render
  134.         return self.nodelist.render(context)
File "C:\Python33\lib\site-packages\django\template\base.py" in render
  840.                 bit = self.render_node(node, context)
File "C:\Python33\lib\site-packages\django\template\debug.py" in render_node
  78.             return node.render(context)
File "C:\Python33\lib\site-packages\django\template\loader_tags.py" in render
  62.             result = block.nodelist.render(context)
File "C:\Python33\lib\site-packages\django\template\base.py" in render
  840.                 bit = self.render_node(node, context)
File "C:\Python33\lib\site-packages\django\template\debug.py" in render_node
  78.             return node.render(context)
File "C:\Python33\lib\site-packages\django\template\defaulttags.py" in render
  305.                 return nodelist.render(context)
File "C:\Python33\lib\site-packages\django\template\base.py" in render
  840.                 bit = self.render_node(node, context)
File "C:\Python33\lib\site-packages\django\template\debug.py" in render_node
  78.             return node.render(context)
File "C:\Python33\lib\site-packages\django\template\defaulttags.py" in render
  156.         len_values = len(values)
File "C:\Python33\lib\site-packages\django\db\models\query.py" in __len__
  77.         self._fetch_all()
File "C:\Python33\lib\site-packages\django\db\models\query.py" in _fetch_all
  854.             self._result_cache = list(self.iterator())
File "C:\Python33\lib\site-packages\django\db\models\sql\compiler.py" in results_iter
  1096.         for rows in self.execute_sql(MULTI):
File "C:\Python33\lib\site-packages\django\db\models\sql\compiler.py" in execute_sql
  781.         cursor.execute(sql, params)
File "C:\Python33\lib\site-packages\django\db\backends\util.py" in execute
  69.             return super(CursorDebugWrapper, self).execute(sql, params)
File "C:\Python33\lib\site-packages\django\db\backends\util.py" in execute
  53.                 return self.cursor.execute(sql, params)
File "C:\Python33\lib\site-packages\django\db\utils.py" in __exit__
  99.                 six.reraise(dj_exc_type, dj_exc_value, traceback)
File "C:\Python33\lib\site-packages\django\utils\six.py" in reraise
  490.             raise value.with_traceback(tb)
File "C:\Python33\lib\site-packages\django\db\backends\util.py" in execute
  53.                 return self.cursor.execute(sql, params)

Exception Type: DataError at /blog/
Exception Value: time zone "Eastern Standard Time" not recognized

1
请问您能否包含完整的错误回溯信息? - Martijn Pieters
1
请注意,如果您想在函数中包含文档字符串,它必须是第一行。 您的三引号字符串不是第一行,因此不会被识别为文档字符串。 - Martijn Pieters
我添加了 traceback... 但是我不知道如何正确格式化它... :S 谢谢你的文档字符串,我已经修改了它! - Ara Sivaneswaran
啊,看起来这是一个数据库问题。你在使用哪个数据库? - Martijn Pieters
你的标题和描述完全不符。能否请您包含实际的问题是什么?如果您正在收到标题中显示的错误消息,则需要显示产生该错误的代码。 - Matt Johnson-Pint
@Martijin,我正在使用PostGresSql。Matt Johnson,这是我的代码,也是我得到的错误... 我还发布了跟踪... - Ara Sivaneswaran
2个回答

12

1
很难确定,因为我看不到你的数据,但是看起来你在某个数据字段/列中有“东部标准时间”作为时区。Python使用IANA/Olson时区,通过pytz包。所以你的数据应该使用“America/New_York”代表美国东部时间。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接