logo

个人冲刺(一)——家庭记账本的搭建

作者:十万个为什么2024.01.05 14:25浏览量:11

简介:通过简单易懂的方式,手把手教你如何使用Python搭建家庭记账本,掌握基础的数据库和数据可视化技术,提高个人财务管理能力。

家庭记账本是一个实用的工具,可以帮助我们记录日常开支,分析消费习惯,从而更好地管理个人财务。在本文中,我们将使用Python语言,通过一个简单的实例来介绍如何搭建一个家庭记账本。
首先,我们需要安装Python环境。你可以从Python官网下载安装包,按照提示进行安装。安装完成后,打开终端或命令提示符,输入python --version,如果返回了Python版本号,说明安装成功。
接下来,我们需要安装几个Python库。在终端或命令提示符中输入以下命令:

  1. pip install flask flask_sqlalchemy flask_bcrypt

这些库分别是用于搭建Web应用、操作数据库和密码加密的。
现在,我们可以开始编写代码了。首先,创建一个新的Python文件,命名为app.py。在这个文件中,我们需要导入所需的库,并定义一些基础配置。代码如下:

  1. from flask import Flask, request, render_template
  2. from flask_sqlalchemy import SQLAlchemy
  3. from flask_bcrypt import Bcrypt
  4. app = Flask(__name__)
  5. app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db' # 使用SQLite数据库
  6. app.config['SECRET_KEY'] = 'secret' # 设置秘钥用于密码加密
  7. db = SQLAlchemy(app)
  8. bcrypt = Bcrypt(app)

接下来,我们需要定义一个User模型,用于存储用户信息。在app.py文件中添加以下代码:

  1. class User(db.Model):
  2. id = db.Column(db.Integer, primary_key=True)
  3. username = db.Column(db.String(80), unique=True, nullable=False)
  4. password_hash = db.Column(db.String(120), nullable=False)

这里我们定义了一个User类,包含了三个属性:idusernamepassword_hash。其中,id是主键,username是用户名,password_hash是密码的哈希值。
接下来,我们需要定义一个路由函数,用于处理用户注册请求。在app.py文件中添加以下代码:

  1. @app.route('/register', methods=['POST'])
  2. def register():
  3. username = request.form['username']
  4. password = request.form['password']
  5. hashed_password = bcrypt.generate_password_hash(password).decode('utf-8')
  6. new_user = User(username=username, password_hash=hashed_password)
  7. db.session.add(new_user)
  8. db.session.commit()
  9. return 'Registration successful!'

这个函数会接收一个POST请求,获取用户名和密码,对密码进行哈希处理后存储到数据库中。如果注册成功,返回一个成功的提示。
现在我们已经完成了用户注册的功能。接下来,我们可以添加一个路由函数,用于显示所有用户的列表。在app.py文件中添加以下代码:
python @app.route('/users') def users(): users = User.query.all() return render_template('users.html', users=users)这个函数会查询数据库中所有的用户信息,并传递给模板文件users.html进行显示。我们需要在同一个目录下创建一个名为users.html的模板文件,并在其中添加以下代码:
```html
<!DOCTYPE html>

Users

Users


    {% for user in users %}

  • {{ user.username }}

  • {% endfor %}



这个模板文件会显示所有用户的用户名。注意在模板中使用了一个简单的循环语句来遍历用户列表。最后,我们需要在`app.py`文件的最后添加以下代码:python if name == ‘main‘: app.run() ``这样就可以运行我们的Web应用了。现在你可以在终端或命令提示符中输入python app.py`来启动应用。在浏览器中输入localhost:5000/users即可查看所有用户的列表。如果你想添加

相关文章推荐

发表评论