flask+mysql數據庫並與前台數據交互


今天研究了flask與mysql數據庫的操作,沒有使用sqlalchemy,使用了mysql的pymysql數據庫操作的第三方類庫

先來一波后台代碼

 1 # -*- coding: utf-8 -*-
 2 from flask import Flask, jsonify, request
 3 import json
 4 from flask_cors import *
 5 import pymysql
 6 
 7 app = Flask(__name__)
 8 
 9 import contextlib
10 #定義上下文管理器,連接后自動關閉連接
11 @contextlib.contextmanager
12 def mysql(host='192.168.0.122', port=3306, user='root', passwd='我的數據庫密碼', db='text1',charset='utf8'):
13   conn = pymysql.connect(host=host, port=port, user=user, passwd=passwd, db=db, charset=charset)
14   cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
15   try:
16     yield cursor
17   finally:
18     conn.commit()
19     cursor.close()
20     conn.close()
21 
22 @app.route('/aaa', methods=['GET','POST'])
23 @cross_origin()
24 def aaa():
25     data= request.args.get("data")#獲取前台json數據
26     temp = json.loads(data)#將json轉為字典
27     id=temp['id']#獲取相應的值
28     with mysql() as cursor:
29         print(cursor)
30         row_count = cursor.execute("select * from users where id=%s", (id))
31         row_1 = cursor.fetchone()
32         return "successCallback"+"("+json.dumps(row_1)+")"
33 
34     conn.commit()
35     cursor.close()
36     conn.close()
37 
38 if __name__ == "__main__":
39     app.run(
40     host = '0.0.0.0',
41     port = 7777,
42     debug = True
43 )

上面是后台 后台的坑主要是接收前台數據解析的問題

data= request.args.get("data")#獲取前台json數據 
temp = json.loads(data)#將json轉為字典
id=temp['id']#獲取相應的值
注釋說的很明白
 1 <script>
 2     $('#search').click(function () {
 3         var data = {
 4          data: JSON.stringify({"id": 1})
 5    }
 6         $.ajax({
 7             type: 'GET',
 8             url: 'http://192.168.0.132:7777/aaa',
 9             dataType: 'jsonp', //希望服務器返回json格式的數據
10             data:data,
11             jsonp: "callback",
12             jsonpCallback: "successCallback",
13             success: function (data) {
14                 console.log(data);
15             }
16 
17         });
18     });
19 </script>
 
        

前台代碼中將獲取的數據拼成json
沒有最好,只有更好,付出不亞於任何人的努力!加油!

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM