flask-mysql配置
来源:互联网 发布:中医体质辨识软件 编辑:程序博客网 时间:2024/06/06 19:44
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})
是不是很简单。
0 0
- flask-mysql配置
- flask 配置mysql数据库
- centos6.5下配置mysql+python-flask
- Flask-SQLAlchemy配置MySQL及其相关操作
- flask与MySQL的配置操作
- flask win10环境下配置 mysql 数据库
- ubuntu下python+flask+mysql完整开发环境配置
- ubuntu下python+flask+mysql完整开发环境配置
- Flask-SQLAlchemy配置连接MySQL及表的生成
- Flask连MySQL数据库
- Flask连接MYSQL
- Python--Flask+MySQL
- Flask使用mysql数据库
- python flask mysql-python
- python Flask配置笔记
- flask环境配置
- nginx+wsgi+flask配置
- Flask+Apache2+Python配置
- js代码放在head标签与放在body标签的区别
- 读《游戏中的数学与物理学》
- 魅族6手机真机调试log显示不全
- 在BroadcastReceiver中启动Activity:
- Windows732位用Python进行数据分析各类库的安装
- flask-mysql配置
- memcached的分布式存储浅析
- 不总是如意
- iOS 字符串显示不同的颜色和字体
- play教程 第一课:当我们在谈论play时,我们到底在谈论什么
- Unity实战笔记_8.简单的UI框架模块间传参
- GO语言中的单引号、双引号、反引号
- Class.forName()和newInstance()的作用
- 18 个惊人的 Angular 开源项目