项目介绍与规划
在本章中,我们将带领大家创建一个简单但功能齐全的 Web 应用,通过实践来巩固前面的学习内容。我们将使用 Flask 框架,逐步实现用户注册与登录功能,以及数据展示与交互功能。最后,我们讨论如何将应用部署到云平台。
项目需求分析与功能规划
在开始编码之前,我们需要对项目进行需求分析和功能规划。以下是我们将实现的主要功能:
- 用户注册与登录
- 用户可以注册新账户
- 用户可以使用已注册账户登录
- 数据展示与交互
- 登录成功后,用户可以看到一个欢迎页面
- 用户可以查看和更新个人信息
项目目录结构的设计
为了保持代码的整洁和组织有序,我们将采用如下的目录结构:
flask_app/
│
├── app/
│ ├── static/
│ ├── templates/
│ ├── __init__.py
│ ├── routes.py
│ └── models.py
│
├── venv/
│
├── config.py
├── run.py
├── requirements.txt
└── README.md
开发与实现
使用 Flask 创建 Web 应用
首先,我们需要创建一个虚拟环境并安装 Flask:
# 创建虚拟环境
python3 -m venv venv
# 激活虚拟环境(Unix 或 macOS)
source venv/bin/activate
# 激活虚拟环境(Windows)
venv\Scripts\activate
# 安装 Flask
pip install Flask
项目初始化
在 flask_app
目录下创建 run.py
文件,并编写如下代码:
from app import create_app
app = create_app()
if __name__ == '__main__':
app.run(debug=True)
接着,在 app
目录下创建 __init__.py
文件,并编写如下代码:
from flask import Flask
def create_app():
app = Flask(__name__)
app.config['SECRET_KEY'] = 'your_secret_key'
from .routes import main
app.register_blueprint(main)
return app
实现用户注册与登录功能
创建数据库模型
在 app
目录下创建 models.py
文件,并编写如下代码:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class User(db.Model):
id = db.Column(db.Integer, primary_key=T