在pythonanywhere中部署测试瓶API

时间:2019-03-28 12:16:14

标签: python api flask postman pythonanywhere

我正在尝试在pythonanywhere中部署flask文档中提供的示例flask API应用。


from flask import Flask, request
from flask_restful import Resource, Api

app = Flask(__name__)
api = Api(app)


todos = {}

class TodoSimple(Resource):
    def get(self, todo_id):
        return {todo_id: todos[todo_id]}

    def put(self, todo_id):
        todos[todo_id] = request.form['data']
        return {todo_id: todos[todo_id]}

api.add_resource(TodoSimple, '/<string:todo_id>')

if __name__ == '__main__':
    app.run()

当我在pycharm中本地测试此应用程序时,我通过使用

发送数据成功执行了该应用程序
curl http://localhost:5000/todo1 -d "data=Remember the milk" -X PUT
pycharm终端中的

命令。

我得到的结果是

  

{       “ todo1”:“记住牛奶”   }

但是当我使用Postman测试部署时,我得到的结果是

  

在服务器上找不到请求的URL。如果您手动输入网址,请检查拼写,然后重试

在Postman的查询参数中使用的参数是: 键:数据 值:“记住牛奶”

在本地执行应用程序时获得的结果是正确的结果。 我在做什么错了?

PS: 当我在pythonanywhere中使用

http://www.mydomain.pythonanywhere.com

2 个答案:

答案 0 :(得分:1)

您需要用pythonanywhere中的网址替换http://localhost:5000/,例如 http://yourusername.pythonanywhere.com 前提是您没有付款并配置自己的域

答案 1 :(得分:1)

数据必须在“正文”标签中发送,而不是在“ Param”标签中。