0

我有这个微不足道的猎鹰应用程序:

import falcon

class ThingsResource:
    def on_get(self, req, resq) :
        #"""Handels GET requests"""
        resp.status = falcon.HTTP_200
                resp.body = '{"message":"hello"}'


app = falcon.API()
things = ThingsResource()
app.add_route('/things', things)

我正在尝试以这种方式使用 gunicorn 运行它:

arif@ubuntu:~/dialer_api$ gunicorn things:app

但是当我尝试将它与以下连接时得到这个httpie

arif@ubuntu:~$ http localhost:8000/things
HTTP/1.1 500 Internal Server Error
Connection: close
Content-Length: 141
Content-Type: text/html

<html>
  <head>
    <title>Internal Server Error</title>
  </head>
  <body>
    <h1><p>Internal Server Error</p></h1>

  </body>
</html>

这太琐碎了,我不知道这里出了什么问题?

4

1 回答 1

3

您的第 7 行不应该缩进。您的第 6 行指的是 resq,而不是您稍后使用的 resp。这意味着您后面提到 resp 的行会失败。

每当您遇到这样的内部服务器错误时,通常是因为代码错误。您的 gunicorn 进程应该一直在吐出错误。我附上了您的代码的更正版本,包括确保它符合 python 的约定(例如,每个缩进 4 个空格)。在线 python 代码检查器之类的工具可以帮助您处理这样的小段代码,尤其是间距问题。

import falcon


class ThingsResource():
    def on_get(self, req, resp):
        resp.status = falcon.HTTP_200
        resp.body = '{"message":"hello"}'


app = falcon.API()
things = ThingsResource()
app.add_route('/things', things)

将此代码保存到另一个文件中,然后运行 ​​diff 以查看我所做的更改。主要问题是相应和不适当的缩进。

于 2014-07-10T03:43:17.750 回答