Flask搭建服務端
一、簡介
運行環境: Python 3.6 + Flask + mysql
二、實例
1、Flask app
from flask import Flask
from flask import jsonify
from flask import request
from flask_cors import CORS
from flask_sqlalchemy import SQLAlchemy
import json
app = Flask(__name__)
cors = CORS(app, resources={r"/api/*": {"origins": "*"}})
app.config["SQLALCHEMY_DATABASE_URI"] = "mysql://username:password@localhost:3306/dbname?charset=utf8"
app.config["SQLALCHEMY_COMMIT_ON_TEARDOWN"] = True
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
app.config["isolation_level"] = "READ UNCOMMITTED"
db = SQLAlchemy(app)
@app.route('/api/saveInfo', methods=['POST', 'GET'])
def save_Info():
from model import Infos
response = {'code': 200, 'msg': '成功', 'data': {}}
try:
info = Infos()
info.name = request.form['name']
info.desc = request.form['des']
db.session.add(info)
db.session.flush()
db.session.commit()
db.session.close()
except Exception as e:
db.session.rollback()
response['code'] = 400
response['msg'] = '保存失敗'
return jsonify(response)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8000, debug=True)
2、數據庫SQLAlchemy
import db
from sqlalchemy import text
import datetime
class Infos(db.Model):
__tablename__ = 'info_template'
id = db.Column(db.Integer, primary_key=True, autoincrement=True, nullable=False)
name = db.Column(db.String(100))
desc = db.Column(db.String(255))
ctime = db.Column(db.DateTime, nullable=False, default=datetime.datetime.now())
def __repr__(self):
return '<id is %s, Name is %s, Desc is %s, ctime is %s>' % (self.id, self.name, self.desc, self.ctime.strftime("%Y-%m-%d %H:%M:%S"))
三、啓動服務器
run啓動Flask集成的Web服務器。
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8000, debug=True)
python3 XX.py運行啓動服務器,就可以通過http://0.0.0.0:8000訪問。