https://github.com/jackfrued/miniweibo
课堂练习
https://github.com/jackfrued/miniweibo
Last synced: about 1 year ago
JSON representation
课堂练习
- Host: GitHub
- URL: https://github.com/jackfrued/miniweibo
- Owner: jackfrued
- License: gpl-3.0
- Created: 2020-04-08T12:49:18.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-04-08T09:29:25.000Z (about 6 years ago)
- Last Synced: 2025-02-15T10:32:47.815Z (over 1 year ago)
- Size: 321 KB
- Stars: 5
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Mini Weibo
本项目旨在练习 Flask 相关知识,同时练习 Virtualenv、Git 的使用,以及数据库表结构设计。
项目要求如下:
1. 项目全部代码由 Git 管理
2. 在 Github 上创建项目的代码仓库,所有代码提交 Github
3. 使用 Virtualenv 管理项目中的所有依赖库
4. 使用 Jinja2 模板构建页面,页面整体风格保持一致
5. 页面样式使用 Bootstrap 或其他前端库进行美化
6. 所有代码 **必须** 符合 PEP8 编码规范
7. 全部开发、调试的过程 **必须** 在 Linux 中进行
## 功能概览
1. 登陆功能
- 用户注册
- 用户登陆
- 登陆后,显示用户信息
2. 发微博
- 记录微博的必要元素
- 发完以后跳到微博显示页
3. 主页
- 按时间顺序显示最新的 50 条微博
- 可以翻页,每页显示 20 条
4. 评论微博
- 任何人都可以在微博下发布评论
5. 回复评论
- 博主可以回复别人的评论
- 其他人也可以互相回复评论,页面上显示 “A对B说”
6. 点赞 / 取消点赞
- 第一次点击是点赞
- 点赞后显示 “已赞”
- 再次点击,取消点赞
7. 关注 / 取消关注
- 点击按钮直接关注
- 关注后,按钮显示 “已关注”
- 再次点击时,取消关注
8. 查看所有关注的人的微博
9. 查看自己所有的粉丝
10. 前 50 条热门微博 (最近一月,点赞数量越多,代表微博越热)
11. 选做: 尝试将微博项目部署到 Linux 服务器,让自己的网站可以通过公网访问
## Day01: 微博项目起步
### 1. 虚拟环境的使用及项目创建
实际工作中,我们可能同时要维护若干个项目,但是每个项目使用的软件包、版本可能都不一样。
比如项目 A 使用 Flask 1.1,而项目 B 使用 Flask 0.12 版,这时如果将两个版本同时装到全局的 Python 环境下就会冲突。
所以我们要为不同的项目单独设置它运行所需的环境,这就需要借助虚拟环境管理。
1. 安装
```shell
pip install virtualenv
```
2. 创建虚拟环境
```shell
cd ~/你的项目文件夹
# 创建虚拟环境
# 虚拟环境可以创建到任何位置,但一般与项目文件夹放到一起
virtualenv .venv
```
3. 加载虚拟环境
```shell
source ~/项目文件夹/.venv/bin/activate # 激活虚拟环境
```
4. 退出虚拟环境
```shell
deactivate # 当开发完成后,可以退出当前虚拟环境
```
5. 导出虚拟环境的软件包
```shell
pip freeze > requirements.txt
```
6. 其他人重新搭建环境时,执行
```shell
source ~/项目文件夹/.venv/bin/activate # 重新激活虚拟环境
pip install -r requirements.txt # 重新下载、安装依赖包
```
## Day02: 项目规划及 User 模块开发
1. Python环境设置
2. 数据库设置、User模块的创建
3. 创建user蓝图、初次迁移数据库
4. 模板的设计、密码处理、登陆页面的开发
5. 登陆接口调试
6. Bug解决
7. User模块其他视图开发
## Day03: 微博功能及相关页面的开发
1. Base页面的调整
2. 微博表设计、登陆验证装饰器
3. Pycharm调试问题
4. 发表和查看微博
5. 编辑和删除微博、装饰器的原理
6. 随机插入调试数据
7. 首页的分页处理
8. 显示微博对应的用户
## Day04: 评论、回复功能开发
1. 连表查询及昨日回顾
2. 评论表结构设计
3. 评论视图函数开发
4. 评论前端页面开发及Bug修复
## Day05: 点赞、关注功能开发
1. 表关系设计与构建
2. 点赞的逻辑开发
3. 点赞页面设计、及其他逻辑修改
4. 上次页面的跳转
5. 关注功能的开发
6. 查看关注的微博
7. 热门微博页面
8. 上线部署