Flask中使用mysql

Posted id被吃了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask中使用mysql相关的知识,希望对你有一定的参考价值。

Flask中使用mysql

先安装相关模块

pip  install  Flask-mysql

先准备一下数据库

登录:

mysql  -u  root  -p

创建Database和创建Table

mysql> CREATE DATABASE EmpData;
mysql> use EmpData;  
mysql> CREATE TABLE User(
 userId INT NOT NULL AUTO_INCREMENT,
 userName VARCHAR(100) NOT NULL,
 password VARCHAR(40) NOT NULL,
 PRIMARY KEY(userId)
 );
插入数据:
mysql> insert into User values(‘‘,‘Admin‘,‘admin‘);
 
现在,让我们回到hello.py并尝试使用flask-mysql连接MySQL。 首先,通过在hello.py中导入它来初始化扩展,如下所示:
from flask import Flask
from flaskext.mysql import MySQL
 
mysql = MySQL()
app = Flask(__name__)
app.config[‘MYSQL_DATABASE_USER‘] = ‘root‘
app.config[‘MYSQL_DATABASE_PASSWORD‘] = ‘root‘
app.config[‘MYSQL_DATABASE_DB‘] = ‘EmpData‘
app.config[‘MYSQL_DATABASE_HOST‘] = ‘localhost‘
mysql.init_app(app)
 
@app.route("/")
def hello():
    return "Welcome to Python Flask App!"
 
if __name__ == "__main__":
    app.run()
 
我们将使用cuesor从数据库访问数据,可以使用mysql对象创建一个。我们还可以添加一个叫Authenticate的方法,来验证登录过程,所以添加下面代码:
@app.route("/Authenticate")
def Authenticate():
    username = request.args.get(‘UserName‘)
    password = request.args.get(‘Password‘)
    cursor = mysql.connect().cursor()
    cursor.execute("SELECT * from User where Username=‘" + username + "‘ and Password=‘" + password + "‘")
    data = cursor.fetchone()
    if data is None:
     return "Username or Password is wrong"
    else:
     return "Logged in successfully"
测试
python hello.py
假如我们在浏览器输入了错误的数据库数据(UserName和Password),比如:
http://127.0.0.1:5000/Authenticate?UserName=jay&Password=jay
浏览器会提示错误:
Username or Password is wrong
输入数据库内的数据:
http://127.0.0.1:5000/Authenticate?UserName=Admin&Password=admin
显示:
Logged in successfully.
 
不过前面都只是简单的操作数据库,如果没有配合参数过滤,容易遇到sql注入的危险,应该注意
 
 
 
 

以上是关于Flask中使用mysql的主要内容,如果未能解决你的问题,请参考以下文章

在Flask中使用mySQL

Flask之模板之宏继承包含

linux中怎么查看mysql数据库版本

Flask模板宏的概念和基本使用

python Flask - 数据库片段

如何使用Flask从MySQL获取数据集?