【问题标题】:Django wsgiref/handlers.py throws exception like alwaysDjango wsgiref/handlers.py 像往常一样抛出异常
【发布时间】:2012-11-01 16:01:09
【问题描述】:

我正在按照这篇文章http://www.tdd-django-tutorial.com/tutorial/1/ 做一些 django TDD 示例。

但是当我尝试运行我的测试时,我总是遇到这个问题,

Creating test database for alias 'default'...
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/handlers.py", line 85, in run
self.result = application(self.environ, self.start_response)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 67, in __call__
return self.application(environ, start_response)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 68, in __call__
return super(StaticFilesHandler, self).__call__(environ, start_response)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 241, in __call__
response = self.get_response(request)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 63, in get_response
return super(StaticFilesHandler, self).get_response(request)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py", line 153, in get_response
response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py", line 228, in handle_uncaught_exception
return callback(request, **param_dict)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/utils/decorators.py", line 91, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/views/defaults.py", line 32, in server_error
t = loader.get_template(template_name) # You need to create a 500.html template.
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/loader.py", line 145, in get_template
template, origin = find_template(template_name)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/loader.py", line 138, in find_template
raise TemplateDoesNotExist(name)
TemplateDoesNotExist: 500.html

我试过 Postgres 和 Sqlite3,同样的输出折磨了我很多。

有人知道我为什么会得到这个吗? 提前谢谢你。

【问题讨论】:

  • 因为您正在尝试渲染一个名为 500.html 的模板,该模板不存在?
  • 谢谢@Aesthete。但我认为该模板是由 django 本身提供的,因为我在教程中没有看到任何类似的东西。我猜这个问题或多或少与我的数据库配置或浏览器缓存有关。但我不确定……
  • 您是否阅读了教程的Write a 500 (server error) view 部分?
  • 嗨@PedroRomano 感谢您的提醒,我已将此 500.html 页面添加到我的模板文件夹中。它奏效了!谢谢!
  • 嗨@Aesthete,我添加了500.html。它确实解决了我的问题。非常感谢。但我只是想知道为什么服务器总是抛出这个异常,即使它没有加载 500.html?

标签: python django postgresql sqlite


【解决方案1】:

异常消息说明出了什么问题。

TemplateDoesNotExist: 500.html

您似乎在 django 正在寻找您的模板的任何地方都缺少 500.html 文件。确保此文件存在。

我假设您的应用程序存在内部错误,并且 Django 正在尝试呈现它的 500 Internal Server Error 页面,但找不到该页面。 Django 可能在此异常发生之前捕获了一个较早的异常。

【讨论】:

    猜你喜欢
    • 2018-10-07
    • 2011-05-30
    • 2013-05-24
    • 2020-10-30
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多