2 Star 0 Fork 0

吴世龙/FinalProject

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
app.py 2.20 KB
一键复制 编辑 原始数据 按行查看 历史
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()
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/babaloong/FinalProject.git
git@gitee.com:babaloong/FinalProject.git
babaloong
FinalProject
FinalProject
master

搜索帮助