我正在尝试在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。如果您手动输入了URL,请检查拼写,然后重试
邮递员中查询参数中使用的参数是:键:数据值:“记住牛奶”
在本地执行应用程序时获得的结果是正确的结果。我究竟做错了什么?
PS:当我使用python的地方时
http://www.mydomain.pythonanywhere.com
你需要用pythonanywhere中的url替换http://localhost:5000/
,例如: http://yourusername.pythonanywhere.com
假设您没有付费并配置自己的域名
数据必须在“正文”标签中发送,而不是在“参数”标签中发送。