我有这个琐碎的猎鹰应用程序:
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>
这是微不足道的,我不知道这里出了什么问题?
答案 0 :(得分:3)
你的第7行,当它不应该缩进时。 你的第6行是指resq,而不是你以后使用的resp。 这意味着您的后续行引用resp失败。
每当您遇到这样的内部服务器错误时,通常都是因为代码错误。你的gunicorn进程本应该吐出错误。我已经附加了代码的更正版本,包括确保它符合python的约定(例如,每个缩进4个空格)。像online python code checker这样的工具可以帮助您处理这样的小代码片段,尤其是间距问题。
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以查看我已更改的内容。主要问题是resp和不合适的缩进。