Python 捕获uWSGI+中的NotFound(404)和TimeOut(504)Django应用程序异常;nginx设置

Python 捕获uWSGI+中的NotFound(404)和TimeOut(504)Django应用程序异常;nginx设置,python,django,nginx,uwsgi,Python,Django,Nginx,Uwsgi,我想知道如何在Django应用程序的views.py中捕获NotFound和TimeOut异常,使用uWSGI+nginx进行设置。我试过这个: def sample(request): try: ... return HttpResponse("OK") except Exception, ex: return HttpResponse("%s - %s" % (type(ex), ex.message)) 但我仍然收到ngin

我想知道如何在Django应用程序的views.py中捕获NotFoundTimeOut异常,使用uWSGI+nginx进行设置。我试过这个:

def sample(request):
    try:
        ...
        return HttpResponse("OK")
    except Exception, ex:
        return HttpResponse("%s - %s" % (type(ex), ex.message))
但我仍然收到nginx返回的html模板响应:

<html>
<head><title>504 Gateway Time-out</title></head>
   <body bgcolor="white">
      <center><h1>504 Gateway Time-out</h1></center>
      <hr><center>nginx/1.6.2</center>
   </body>
</html>
我确信我发送的请求遇到超时异常。
我该怎么做?提前感谢您的反馈

不,是您的应用程序在生成超时。现在,这可能是由于等待远程API的时间过长造成的,但不是远程调用生成超时异常。谢谢Daniel。好吧,明白了,这也是我的意思。为这一混乱道歉。但是,我的问题仍然是如何在应用程序中捕获它?再次感谢!您不应该为向其他服务器发出请求而设置全局try/catch。您应该让try/catch处理对其他服务器的单个调用,并在那里处理异常情况。如果您只是想查看错误信息,您应该能够从日志记录程序中获取该信息。谢谢schillingt。但是如何捕获超时异常呢?你能给我举个例子吗?再次感谢!
response = requests.get(test_url).content