我是python的新手,但我有基本的PHP知识.在我开发的android和java应用程序中,我一直在使用PHP脚本与在线MysqL数据库进行交互.但现在我想迁移到python,我有一个问题;
如何在Web服务器上运行python脚本?根据我在PHP的经验,我一直在Linux环境中将我的文件保存在“/ var / www”文件夹下.然后我稍后用路径的URL调用该文件.我在哪里保存我的python脚本?
我一直在阅读官方的python文档,但我没有找到太多帮助.
解决方法
您可以使用Flask来运行webapps.
下面简单的Flask应用程序将帮助您入门.
from flask import Flask,jsonify app = Flask(__name__) @app.route('/sampleurl' methods = ['GET']) def samplefunction(): #access your DB get your results here data = {"data":"Processed Data"} return jsonify(data) if __name__ == '__main__': port = 8000 #the custom port you want app.run(host='0.0.0.0',port=port)
现在,当您点击http://your.systems.ip:8000 / sampleurl时,您将获得一个json响应,供您使用移动应用.
您还可以添加如下参数:
@app.route('/sampleurl' methods = ['GET']) def samplefunction(): required_params = ['name','age'] missing_params = [key for key in required_params if key not in request.args.keys()] if len(missing_params)==0: data = { "name": request.argv['name'],"age": request.argv['age'] } return jsonify(data) else: resp = { "status":"failure","error" : "missing parameters","message" : "Provide %s in request" %(missing_params) } return jsonify(resp)
要运行此操作,请将烧瓶应用保存在文件中,例如myapp.py
然后从终端运行python myapp.py
它将在端口8000上启动服务器(或由您指定).
Flask的内置服务器不建议用于生产级别.在您对应用程序感到满意后,您可能需要查看Nginx Gunicorn Flask系统.
有关烧瓶的详细说明,您可以查看此answer.它是关于在Raspberry pi上设置Web服务器,但它应该适用于任何Linux发行版.
希望有所帮助.