国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

flask-mysql配置

2019-11-09 14:07:39
字體:
來源:轉載
供稿:網友

Python-flask MySQL配置


最近在實習做公司的一個小項目,麻雀雖小,五臟俱全。雖然我投的是算法崗位,但剛進來讓我做后臺服務器,讓我感覺壓力還是蠻大的。我開發的服務器是用python-flask來做的,flask在這段時間開發中,讓我學習到了很多,終于理解微小的含義。

場景1

flask默認只有一個run.py文件,如果現在沒有功能還不完善,我想后期擴充功能,但又不想修改run.py文件,該怎么辦?

答:使用藍圖。

藍圖的的定義是這樣的,可以將不同的模塊獨立分開,采用不同的路由,這樣就可以模塊化應用。

配置如下:

首先藍圖模塊bp.py:

from flask import BluePRint, jsonifybp = Blueprint('mysql', __name__, url_prefix='/db')@bp.route('/index')def index(): return 'blueprint model'

這樣我們就定義了一個基本的藍圖。首先我們引入Blueprint這個模塊,并且實例化,第一個是名稱,url_prefix='/db'表示路由選擇從db開始,下面就像普通的app文件一樣,定義路由方法即可。

我們看一下run.py:

from flask import Flaskfrom bp import bpapp = Flask(__name__)app.register_blueprint(bp)if __name__ == '__main__': app.run(debug=True)

運行,用瀏覽器打開localhost:5000/db/index,就可以看到blueprint model兩個字母了。簡單吧。


場景2

我的應用需要操作數據庫,我才用了flask-mysql的擴展,但我想模塊化,不想在run.py中操作數據庫。

答:

我們可以這樣,編寫一個ext.py

from flaskext.mysql import MySQL mysql = MySQL()

接著在run.py中這樣:

app.config['MYSQL_DATABASE_USER'] = 'root'app.config['MYSQL_DATABASE_PASSWord'] = 'sa'app.config['MYSQL_DATABASE_DB'] = 'zhihu'app.config['MYSQL_DATABASE_HOST'] = 'localhost'mysql.init_app(app)

接著在ext.py中操作數據庫了:

def db(): cursor = mysql.get_db().cursor() cursor.execute('select * from users limit 5') data = cursor.fetchall() for d in data: print(d[3], SEX[d[4]]) return jsonify({'code': 200})

是不是很簡單。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 罗城| 麻阳| 同心县| 育儿| 武定县| 射洪县| 白银市| 县级市| 登封市| 陕西省| 千阳县| 泌阳县| 商城县| 绥江县| 井研县| 常熟市| 鄂托克旗| 蚌埠市| 鱼台县| 长子县| 岐山县| 石河子市| 兴文县| 敦化市| 蓬溪县| 容城县| 建湖县| 张掖市| 晋中市| 上杭县| 特克斯县| 衡阳市| 广昌县| 侯马市| 苗栗市| 故城县| 英超| 沙坪坝区| 中阳县| 青州市| 宜州市|