可参考
https://www.cnblogs.com/Dominic-Ji/p/10897142.html
1.项目需求分析:
- 管理员
1 注册
2 登录
3 上传视频
4 删除视频
5 发布公告
- 用户
1 注册
2 登录
3 冲会员
4 查看视频
5 下载免费视频
6 下载收费视频
7 查看下载记录
8 查看公告
2.程序的架构设计
架构图:
- 三层架构 - 用户视图层 与用户交互的 - 接口层 处理核心业务逻辑 - 数据层 对数据进行存取 - ATM: - 存: 序列化 dict ----> json ----> data.json - 取: 反序列化 data.json ----> json ----> dict - 优点: 可跨平台 - 缺点: 不能存对象 - 选课系统 - 存: 序列化 object ----> pickle(bytes) ----> data.pickle - 取: 反序列化 data.pickle ----> pickle(bytes) ----> object - 优点: 可以存对象 - 缺点: 不可跨平台 - 仿优酷系统 - ORM: - 存: object ----> MySQL - 取: MySQL ----> [{}, {}] ----> [object, object] object.属性 object.方法 - pymysql - cursor.execute('sql语句') # select() 查询数据 - object.select() # ----> select * from ... # save() 插入数据 - object.save() # ----> insert into .....动态 sql # update() 更新数据 - object.update() # ----> update tab set .... - MySQL: - json ----> dict - dict.属性 - dict.get('key') - dict['key']
3.亮代码
客户端
conf/settings
import os BASE_PATH = os.path.dirname(os.path.dirname(__file__)) UPLOAD_MOVIE_DIR = os.path.join( BASE_PATH, 'upload_movie_dir' ) DOWNLOAD_MOVIE_DIR = os.path.join( BASE_PATH, 'download_movie_dir' )