python后端从数据库请求数据给到前端的具体实现
生活随笔
收集整理的這篇文章主要介紹了
python后端从数据库请求数据给到前端的具体实现
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
先來貼一竄代碼讓大家理解前端/后端/數(shù)據(jù)庫的工作原理,
首先簡要說明:前端向后端請求數(shù)據(jù),后端根據(jù)前端請求數(shù)據(jù)的類別分析其需求,并連接到數(shù)據(jù)庫獲取相應(yīng)數(shù)據(jù):
來一段簡單的實(shí)例代碼模擬淘寶商城:
前端代碼:
<!DOCTYPE html> <html><head><meta charset="UTF-8"><title></title><script src="js/vue.js" type="text/javascript" charset="utf-8"></script><script src="js/socket.io.js" type="text/javascript" charset="utf-8"></script><script src="js/jquery-3.3.1.min.js" type="text/javascript" charset="utf-8"></script></head><body><div id="app"><div class="conList"><div class="content" v-for='item in contentList'><h3>{{item[1]}}</h3><img :src="item[2]"/><p>價(jià)格:{{item[3]}}</p><p>數(shù)量:{{item[4]}}</p></div></div></div><script type="text/javascript">//連接到本地服務(wù)器var socket=io('http://localhost:7444')var app=new Vue({el:'#app',data:{contentList:[],},mounted:function(){//數(shù)據(jù)加載后向后臺請求數(shù)據(jù),請求數(shù)據(jù)名稱為getContentListsocket.emit('message','getContentList')}})//監(jiān)聽后端返回的數(shù)據(jù)socket.on('reply',function(data){//如果返回?cái)?shù)據(jù)類型為contentList則做如下操作if (data.type=='getContentList'){app.contentList=data.data}// console.log('data',data.data) })</script></body> </html>
后端socketio框架服務(wù)器:
import socketio import eventlet import random import pymysql# 實(shí)例化socketio對象 sio=socketio.Server()@sio.on('connect') def connect(sid,environ):print('environ123',environ)# 監(jiān)聽前端傳入的請求數(shù)據(jù) # 根據(jù)請求數(shù)據(jù)連接數(shù)據(jù)庫獲取目標(biāo)數(shù)據(jù) @sio.on('message') def message(sid,data):print('message',data)if data=='getContentList':# 連接數(shù)據(jù)庫db=pymysql.connect('localhost','root','123456','python1')# 使用 cursor() 方法創(chuàng)建一個(gè)游標(biāo)對象 cursorcursor=db.cursor()#mysql語句sql='select item_id,item_title,item_image,item_price,num from tb_cart;'# 執(zhí)行sql語句cursor.execute(sql)# 獲取所有游標(biāo)data1=cursor.fetchall()# 因?yàn)閐ata1為元組,到傳到前端只能讀取到一條信息,所以要轉(zhuǎn)成列表data=list(data1)# 給前端返回?cái)?shù)據(jù)標(biāo)名數(shù)據(jù)類型,前端好區(qū)分需求數(shù)據(jù)content={'type':'getContentList','data':data}print(data,'12311111')# 將整理好的數(shù)據(jù)返回到前端sio.emit('reply',content)@sio.on('disconnect') def disconnect(sid):print('disconnect123',sid)if __name__=='__main__':# sio通過middleware轉(zhuǎn)為應(yīng)用服務(wù)app=socketio.Middleware(sio)# 依賴eventlet網(wǎng)關(guān)服務(wù)器eventlet.wsgi.server(eventlet.listen(('',7444)),app)
?
轉(zhuǎn)載于:https://www.cnblogs.com/Dark-fire-liehuo/p/9818858.html
總結(jié)
以上是生活随笔為你收集整理的python后端从数据库请求数据给到前端的具体实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pycharm专业版(window)安装
- 下一篇: 【python】入门指南:控制语句