“从零开始打造记账小工具:Python + Flask + Jinja2 实战教程”

前言

这篇文章将带你一步步从零开始构建一个简单的记账小工具,通过Python + Flask + Jinja2实现。即使你是个小学生也可以跟随本教程完成整个项目,每一行代码都会详细解释其作用。我们还将包括如何安装必要的库、搭建项目结构、处理数据并将其存入数据库,以及实现数据的增删改查功能。

1. 安装环境和必要库

在开始之前,我们需要安装Python和相关的Flask库。确保你已经安装了Python,如果还没有,可以在Python官网下载并安装。

安装 Flask:
pip install Flask

终端里面输入命令安装

安装 Jinja2(它是Flask默认的模板引擎):
pip install Jinja2
安装 SQLite3(用于存储数据):
pip install sqlite3

2. 项目结构

我们会将项目组织得清晰有序。以下是项目的文件结构:

my_budget_app/          # 主项目文件夹
│
├── app.py              # 主程序文件
├── templates/          # 存放HTML文件的文件夹
│   ├── base.html       # 基础模板
│   ├── index.html      # 显示记账数据的页面
│   ├── add.html  # 添加数据的页面
├── static/             # 存放静态文件(如CSS、图片)
│   └── style.css       # 页面样式
├── budget.db           # SQLite3数据库

3. 搭建Flask应用

在my_budget_app文件夹下创建一个app.py文件,这是我们Flask应用的入口。

from flask import Flask, render_template, request, redirect, url_for
import sqlite3

# 创建一个 Flask 应用
app = Flask(__name__)

# 连接 SQLite 数据库
def get_db_connection():
    conn = sqlite3.connect('budget.db')  # 连接数据库文件 budget.db
    conn.row_factory = sqlite3.Row       # 设置行工厂,使得结果像字典一样访问
    return conn

# 首页视图,显示所有记账条目
@app.route('/')
def index():
    conn = get_db_connection()          # 获取数据库连接
    transactions = conn.execute('SELECT id,date,remarks,amount,category FROM transactions where deleted=0 ORDER BY date desc').fetchall()  # 查询所有交易记录
    print(transactions)
    # 将 _sqlite3.Row 对象转换为字典并打印
    for transaction in transactions:
        print(dict(transaction))
    conn.close()                        # 关闭数据库连接
    return render_template('index.html', transactions=transactions)  # 渲染 index.html 模板并传递交易记录

# 添加新记账条目的路由
@app.route('/add', methods=('GET', 'POST'))
def add_tran
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值