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注入的危险,应该注意
 
 
 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM