国产探花免费观看_亚洲丰满少妇自慰呻吟_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})

是不是很簡單。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 孝感市| 都江堰市| 济源市| 崇文区| 灵山县| 全椒县| 临汾市| 荣成市| 景德镇市| 木兰县| 浠水县| 遂川县| 沁阳市| 宜都市| 谷城县| 江川县| 晋中市| 沙雅县| 浦北县| 长汀县| 沈阳市| 珠海市| 嘉兴市| 巢湖市| 天祝| 武陟县| 沙湾县| 遂宁市| 阳春市| 济源市| 绍兴县| 唐山市| 嵩明县| 咸宁市| 阿坝县| 剑河县| 武穴市| 宁城县| 朝阳县| 普定县| 怀柔区|