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