在Azure上的python flask应用程序中处理POST json数据

时间:2019-05-08 00:46:01

标签: python azure http flask

我在Azure上部署了一个基本的python flask应用程序,该应用程序试图处理通过REST客户端发布到它的json数据。

这是应用程序:

from flask import Flask, redirect, url_for

app = Flask(__name__)

@app.route('/json', methods=['POST'])
def json():
    req_data = request.get_json()
    data = req_data['data']
    return 'The data is {}'.format(data)

我发布的数据:

{
    "data":"abc"
}

但是,当我发送POST请求时,收到一条错误消息:“ 500 INTERNAL SERVER ERROR”。知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

请按照我的工作步骤操作:

第1步:在门户导航栏中添加扩展(这里是Python 3.6.1 x64)。

enter image description here

第2步:发布您的flask项目并添加web.config

web.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="WSGI_HANDLER" value="<Your Project Name>.app"/>
    <add key="PYTHONPATH" value="D:\home\site\wwwroot"/>
    <add key="WSGI_LOG" value="D:\home\LogFiles\wfastcgi.log"/>
  </appSettings>
  <system.webServer>
    <handlers>
      <add name="PythonHandler" path="*" verb="*" modules="FastCgiModule" scriptProcessor="D:\home\Python361x64\python.exe|D:\home\Python361x64\wfastcgi.py" resourceType="Unspecified" requireAccess="Script"/>
    </handlers>
  </system.webServer>
</configuration>

如果部署成功,您将在KUDU路径中看到以下结构:D:\home\site\wwwroot>

enter image description here

第3步:切换到Kudu CMD并命令cd Python361x64touch get-pip.py,然后通过“编辑”按钮将网址https://bootstrap.pypa.io/get-pip.py的内容复制到get-pip.py中,然后运行{ {1}}安装点子工具。

enter image description here

第4步:通过python get-pip.py

安装所需的任何软件包

enter image description here