### `routes`
# app/routes/investment.py
# 导入 Flask 和相关模块
from flask import Blueprint, render_template, request, redirect, url_for
# 导入自定义模型
from app.models import Investment, Stock
# 导入数据库连接
from app import db
# 创建蓝图
investment = Blueprint('investment', __name__)
# 定义路由
@investment.route('/investment', methods=['GET', 'POST'])
def investment():
"""
投资页面路由
GET: 显示投资记录
POST: 创建新投资记录
"""
if request.method == 'POST':
# 提取表单数据
stock_id = request.form['stock_id']
investment_amount = request.form['investment_amount']
# 创建新投资记录
new_investment = Investment(stock_id=stock_id, investment_amount=investment_amount)
db.session.add(new_investment)
db.session.commit()
# 跳转到投资页面
return redirect(url_for('investment.investment'))
# 查询投资记录并分页
investments = Investment.query.order_by(Investment.id.desc()).paginate(per_page=10)
# 查询所有股票
stocks = Stock.query.all()
# 渲染模板
return render_template('investment.html', investments=investments, stocks=stocks)
@investment.route('/investment/<int:id>', methods=['GET', 'POST'])
def edit_investment(id):
"""
编辑投资记录路由
GET: 显示投资记录
POST: 更新投资记录
"""
# 查询投资记录
investment = Investment.query.get_or_404(id)
if request.method == 'POST':
# 提取表单数据
investment.stock_id = request.form['stock_id']
investment.investment_amount = request.form['investment_amount']
# 更新投资记录
db.session.commit()
# 跳转到投资页面
return redirect(url_for('investment.investment'))
# 查询所有股票
stocks = Stock.query.all()
# 渲染模板
return render_template('edit_investment.html', investment=investment, stocks=stocks)
# app/routes/report.py
# 导入 Flask 和相关模块
from flask import Blueprint, render_template
# 导入自定义模型
from app.models import Stock, User
# 创建蓝图
report = Blueprint('report', __name__)
# 定义路由
@report.route('/stock_report')
def stock_report():
"""
股票报表页面路由
GET: 显示所有股票信息
:return: render_template('stock_report.html', stocks=stocks)
"""
# 查询所有股票
stocks = Stock.query.all()
# 渲染模板并传递股票信息
return render_template('stock_report.html', stocks=stocks)
@report.route('/user_report')
def user_report():
"""
用户报表页面路由
GET: 显示所有用户信息
:return: render_template('user_report.html', users=users)
"""
# 查询所有用户
users = User.query.all()
# 渲染模板并传递用户信息
return render_template('user_report.html', users=users)


