当前位置: 首页 > news >正文

Python Flask service provide data list and retrieve and display in chrome via html and javascript

//flask
from flask import Flask,jsonify,send_from_directory
from flask_cors import CORS
import uuid
import time
import os
import pandas as pd
import csv
from datetime import datetime
import jsonbooks_list=[]
arr=range(1,1000001)
for a in arr:books_list.append({"Id":a,"Name":f'Name_{a}',"ISBN":f'ISBN_{a}_{uuid.uuid4().hex}',"Author":f'Author_{a}',"Content":f'Content_{a}',"Summary":f'Summary_{a}',"Title":f'Title_{a}',"Topic":f'Topic_{a}'}) 
print(f'{datetime.now()}  has {len(books_list)} rows data!')app=Flask(__name__)
CORS(app)idx=0@app.route('/')
def index():return send_from_directory('.','Index_csv.html')    @app.route('/get_books_list')def get_books_list():global idxtimestamp=int(time.time())temp_data_list=books_list[idx:idx+20]jsonStr=json.dumps(temp_data_list)print(jsonStr)idx+=20return jsonify({'data':jsonStr,'timestamp':timestamp})if __name__=="__main__":app.run(debug=True,port=5000,host='0.0.0.0')//html,Index_csv.html
 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0"> <title>books list</title> <style> body { align-items: center; min-width: 1200px; } .container { text-align: center; font-size: 20px; } table { width: 100%; margin: 20px auto; border-collapse: collapse; } th, td { border: 1px solid #ddd; padding: 8px; text-align: left; } th { background-color: #f2f2f2; } #fetchBtn { font-size: 20px; min-width: 1200px; } </style> </head> <body align-items="center"> <div class="container"> <div> <button id="fetchBtn">Fetch Data</button> </div> <table id="dataTable"> <tr> <th>Id</th> <th>Name</th> <th>ISBN</th> <th>Author</th> <th>Content</th> <th>Summary</th> <th>Title</th> <th>Topic</th> </tr> </table> </div> <script> document.getElementById('fetchBtn').addEventListener('click', fetchBooksData); function fetchBooksData() { const dataTable = document.getElementById('dataTable'); const btn = document.getElementById('fetchBtn'); while (dataTable.rows.length > 1) { dataTable.deleteRow(1); } btn.disabled = true; btn.textContent = 'Fetching...'; fetch('http://localhost:5000/get_books_list') .then(res => { if (!res.ok) { throw new Error(`HTTP error! status:${res.status}`); } return res.json(); }) .then(result => { try { if (!result || !result.data) { throw new Error('No data received from server'); } alert(`${result.data}`); const books = typeof result.data === 'string' ? JSON.parse(result.data) : result.data; alert(`Received ${books.length} books`); <!-- books.forEach(bkArray => { --> <!-- const rowHtml = ` --> <!-- <tr> --> <!-- <td>${bkArray[0]}</td> --> <!-- <td>${bkArray[1]}</td> --> <!-- <td>${bkArray[2]}</td> --> <!-- <td>${bkArray[3]}</td> --> <!-- <td>${bkArray[4]}</td> --> <!-- <td>${bkArray[5]}</td> --> <!-- <td>${bkArray[6]}</td> --> <!-- <td>${bkArray[7]}</td> --> <!-- </tr> --> <!-- `; --> <!-- dataTable.insertAdjacentHTML('beforeend', rowHtml); --> <!-- }); --> //遍历数据并添加到表格 books.forEach(book=>{ const row=dataTable.insertRow(); row.innerHTML=` <td>${book.Id}</td> <td>${book.Name}</td> <td>${book.ISBN}</td> <td>${book.Author}</td> <td>${book.Content}</td> <td>${book.Summary}</td> <td>${book.Title}</td> <td>${book.Topic}</td> `; }); } catch (error) { console.error('Parse data failed: ', error); alert('data format error ' + error.message); } }) .catch(ex => { console.error('Request failed:', ex); alert('Fetch data failed ' + ex.message); }) .finally(() => { btn.disabled = false; btn.textContent = 'Fetching Data'; }); }; </script> </body> </html>

 

 

 

image

 

http://127.0.0.1:5000/

 

 

image

 

 

 

image

 

 

image

 

 

image

 

http://www.jsqmd.com/news/69565/

相关文章:

  • 2025最新PC仿石砖增强剂品牌TOP5评测!绿色建材赋能市政工程,权威榜单发布 - 全局中转站
  • 图文并茂-手把手教宝子们3分钟用 GitHub Pages 搭建免费网站 (保姆级教程)
  • 2025权威聚焦:智能门窗控制器解决方案商综合推荐,引领智慧生活新入口 - 星报
  • 2025最新聚脲防腐防水涂料/厂家TOP5评测!环保科技+工程实证权威榜单发布,功能涂料赋能基建防护新生态 - 全局中转站
  • 2025最新彩砖专用水性色浆服务商/厂家TOP5评测!环保创新+性能实证权威榜单发布,技术赋能重构彩砖涂装生态 - 全局中转站
  • 剪映vip破解版 分享
  • 2025 智能电壁炉解决方案商权威推荐:赋能家居暖意与智慧节能 - 星报
  • 2025年电壁炉解决方案商综合推荐:驱动智能取暖与美学融合的新浪潮 - 星报
  • 2025 最新聚脲地坪服务商 / 厂家 TOP5 评测!环保高性能 + 全场景适配权威榜单发布,技术创新引领地坪材料升级 - 全局中转站
  • 一只菜鸟学深度学习的日记:填充 步幅 下采样
  • 51
  • 2025最新无机水性涂料品牌/厂家TOP5评测!环保性能与工程适配权威榜单发布,功能性涂料技术革新引领行业升级 - 全局中转站
  • 黑马程序员SpringCloud微服务开发与实战-微服务-配置管理
  • git-ssh - yebinghuai-qq
  • Linux中级のNginx~2
  • 2025 最新水性地坪漆厂家 TOP5推荐!水性地坪漆年度品牌榜,环保性能 + 技术创新优质供应商,专业赋能地面涂装新体验 - 全局中转站
  • 数据采集与融合技术实践4
  • 12月9日日记
  • 2025.12.9总结
  • 2025 最新路面胶粘剂厂家 TOP5 评测!路面胶粘剂优质国产品牌年度榜单,绿色环保 + 性能实证权威榜单发布,技术赋能重构路面工程生态 - 全局中转站
  • 2025年国内十大检定器生产厂家实力排行榜,贯入式砂浆强度检测仪/回弹仪检定器/裂缝测深仪/裂缝测宽仪/数显碳化深度尺检定器供应厂家找哪家 - 品牌推荐师
  • 2025 最新桥梁防腐涂料厂家 TOP5 评测!环保高性能 + 技术创新权威榜单发布,守护基础设施安全与耐久 - 全局中转站
  • 2025年权威推荐!水处理设备企业综合实力TOP4 - 极欧测评
  • 东方智慧的现代生成:论岐金兰AI元人文构想的思想本源、理论建构与文明意义
  • Seata原理与简单示例 - 指南
  • US$1209.35 Original Alientech KESS V3 KESS3 Master 12MonthsSubscription
  • 12/9
  • Git命令
  • centos7安装docker
  • 2025年最新盘点:本地最值得信赖的检定器供应商,高强回弹仪检定器/钢砧/云回弹仪/高强回弹仪/涂层测厚仪/楼板测厚仪检定器生产厂家电话 - 品牌推荐师