我在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”。知道为什么会这样吗?
答案 0 :(得分:0)
请按照我的工作步骤操作:
第1步:在门户导航栏中添加扩展(这里是Python 3.6.1 x64)。
第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>
。
第3步:切换到Kudu CMD并命令cd Python361x64
和touch get-pip.py
,然后通过“编辑”按钮将网址https://bootstrap.pypa.io/get-pip.py
的内容复制到get-pip.py
中,然后运行{ {1}}安装点子工具。
第4步:通过python get-pip.py