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

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

flask-mysql配置

2019-11-09 15:04:09
字體:
來源:轉載
供稿:網友

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})

是不是很簡單。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 榆社县| 遂昌县| 罗定市| 永定县| 江津市| 镶黄旗| 朔州市| 万源市| 治多县| 兴和县| 连云港市| 酉阳| 伊春市| 宜阳县| 兰溪市| 嘉祥县| 桐柏县| 镇沅| 广州市| 沈阳市| 保靖县| 呼图壁县| 梁山县| 扎赉特旗| 九江县| 拉孜县| 白沙| 陕西省| 德格县| 鹤壁市| 滨海县| 泊头市| 苏尼特右旗| 永丰县| 寿阳县| 上饶县| 栖霞市| 栖霞市| 赣榆县| 南安市| 松溪县|