Flask搭建服務端

                                                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訪問。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章