Fisher是一个基于Flask的图书交换平台,用户可以在平台上搜索、查看图书信息,并与其他用户交换图书。
- 图书搜索与展示
- 用户注册与登录
- 图书漂流(赠送与心愿)
- 邮件通知
- 个人中心
- Python 3.6+
- MySQL 5.7+
- Windows/Linux/MacOS
-
安装Python依赖
# 使用pip直接安装 pip install requests wtforms flask-sqlalchemy flask flask-mail # 对于cymysql在Windows上的安装 # 方法1:安装Visual C++ Build Tools # 下载地址:https://visualstudio.microsoft.com/visual-cpp-build-tools/ # 方法2:使用预编译wheel包 pip install --only-binary :all: cymysql # 或者使用pymysql替代 pip install pymysql # 然后在代码中修改数据库URI中的cymysql为pymysql
-
配置数据库
在
app/secure.py文件中配置数据库连接:# MySQL配置 SQLALCHEMY_DATABASE_URI = 'mysql+cymysql://用户名:密码@localhost:3306/fisher' # 如果使用pymysql替代cymysql,则配置为 # SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://用户名:密码@localhost:3306/fisher' # 邮箱配置 MAIL_SERVER = 'smtp.qq.com' MAIL_PORT = 465 MAIL_USE_SSL = True MAIL_USE_TSL = False MAIL_USERNAME = '你的邮箱@qq.com' MAIL_PASSWORD = '邮箱授权码'
-
创建数据库
CREATE DATABASE fisher CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-
启动应用
# 直接运行fisher.py python fisher.py # 或者使用Flask命令 export FLASK_APP=fisher.py export FLASK_ENV=development flask run --host=0.0.0.0 --port=81 # Windows下使用 set FLASK_APP=fisher.py set FLASK_ENV=development flask run --host=0.0.0.0 --port=81
-
访问应用
打开浏览器访问 http://localhost:81
fisher/
├── app/ # 应用主目录
│ ├── forms/ # 表单验证
│ ├── lib/ # 工具库
│ ├── models/ # 数据模型
│ ├── spider/ # 爬虫模块
│ ├── static/ # 静态资源
│ ├── templates/ # 模板文件
│ ├── view_model/ # 视图模型
│ ├── web/ # 视图函数
│ ├── secure.py # 安全配置(密码等)
│ └── setting.py # 通用配置
└── fisher.py # 应用入口
-
cymysql安装失败
Windows环境下安装cymysql可能需要Visual C++ Build Tools,可以考虑使用pymysql替代。
-
端口占用问题
如果81端口被占用,可以在fisher.py中修改端口号。
欢迎提交Pull Request或Issue来完善项目。
本项目采用MIT许可证。