代码拉取完成,页面将自动刷新
import pandas as pd
from flask import Flask, session, render_template, redirect, Blueprint, request, jsonify, send_file
from flask_cors import CORS
from Config import Config
from db import db
import re
# 创建 Flask 应用实例
app = Flask(__name__)
# 从 Config 模块中导入配置并应用到 Flask 应用
app.config.from_object(Config)
# 初始化数据库
db.init_app(app)
# 处理跨域请求
CORS(app)
# 导入蓝图视图
from views.page import page
from views.user import user
# 注册蓝图
app.register_blueprint(page.pb)
app.register_blueprint(user.ub)
# 首页路由,重定向到用户登录页面
@app.route('/')
def index():
return redirect('/user/login')
# 在每个请求之前执行的函数
@app.before_request
def before_request():
# 正则表达式模式用于匹配静态文件请求路径
static_pattern = re.compile(r'^/static')
if re.search(static_pattern, request.path):
return
if request.path == '/user/login':
return
if request.path == '/user/register':
return
uname = session.get('username')
if uname:
return None
# 如果用户未登录,重定向到用户登录页面
return redirect('/user/login')
# 处理所有未匹配路由的请求,渲染 404 页面
@app.route('/<path:path>')
def catch_all(path):
return render_template('404.html')
# 示例 API 路由,返回数据
@app.route('/api/data', methods=['GET'])
def get_data():
data = 120
return jsonify({'data': data})
@app.route('/download', methods=['GET'])
def download_file():
# 使用 SQLAlchemy 的 engine 连接到数据库
engine = db.get_engine()
# 从数据库中读取表
df = pd.read_sql('house_info', engine)
# 将 DataFrame 导出为 CSV 文件
df.to_csv('your-table.csv', index=False)
return send_file('your-table.csv', as_attachment=True)
@app.route('/upload', methods=['POST'])
def upload_file():
file = request.files['file']
df = pd.read_csv(file)
# 使用 SQLAlchemy 的 engine 连接到数据库
engine = db.get_engine()
df.to_sql('house_info', engine, if_exists='append', index=False)
return '文件已成功上传并导入到数据库中!'
if __name__ == '__main__':
app.run()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。