使用csv直接渲染到html不太合理尤其是访问量很大的时候。
现在数据库支持csv很好,为什么不先导入一下呢,然后就以数据库的方式与html模板交互。
简单做了一个,大量数据会有性能问题,看看自己用生成器改下吧
views.py
from __future__ import division
from flask import Flask,request,url_for,g,render_template
import csv
import os
from math import ceil
app = Flask(__name__)
@app.before_request
def load_csv():
g.path = os.path.join(os.path.abspath(os.path.dirname(__file__)),'data.csv')
@app.route('/read_csv/page/')
def read_csv(page_num):
'''
目标url
http://127.0.0.1:5000/read_csv/page/1?limit=100
'''
# 若不指定limits默认为100
limits = request.args.get('limits')
if limits:
limits = int(limits)
else:
limits=100
# 根据limits和所在页数生成数据