1.用到的Flask知识

  • 1.使用整形,浮点型,路径型,字符串型下正则表达式路由转化器
  • 2.使用GET与POST请求,上传文件,cookie获取与响应,404处理
  • 3.使用模板自动转义,定义过滤器,定义全局上下文处理器,Jinja2语法,包含,继承,定义宏
  • 4.使用flask-wtf定义表单模型,字段类型,字段验证,视图处理表单,模板使用表单
  • 5.使用flask-sqlachemy定义数据库模型,对数据进行增删查改,数据迁移
  • 6.使用蓝图优化项目结构,实现微电影网站前台与后台业务逻辑
  • 7.flask部署,安装编译Nginx,安装Mysql服务以及通过Nginx反向代理对视频流媒体限制下载速率,限制单个IP能发起的播放连接数

2.用到的视频技术

  • 1.jwplayer播放器插件
  • 2.视频限速限IP访问
  • 3.FLV,MP4视频格式支持
  • 4.Nginx点播实现

3.环境说明:

开发系统:Win 7(与数据库虚拟机以NAT方式连接,IP地址为:192.168.81.3)
python版本:3.6.3
开发工具:pycharm 专业版
数据库:MariaDB 5.5.56-Server
数据库所在系统:CentOS 7.4(IP地址为:192.168.81.10)

4.项目模型设计

  • 使用Flask的蓝图Blueprint规划项目结构
  • 使用Flask sqlalchemy定义和业务需求相关的数据库模型
  • 结合MySQL数据库生成数据表

4.1前端搭建

实现前后台html布局页面搭建
实现Jinja2引擎语法
引入静态资源文件,404错误页面的处理

4.2后端开发

Flask sqlalchemy结合MySQL数据表进行增删改查操作
Flask数据分页查询,路由装饰器定义,模板中变量调用,登录会话机制,上传文件
Flask wtforms表单验证,Flask自定义应用上下文,自定义权限装饰器对管理系统进行基于角色权限的访问控制
Flask的多表关联查询,关键字模糊查询等

4.3网站部署

实现在CentOS服务器上搭建Nginx+MySQL+python环境
使用Nginx反向代理多端口多进程部署微电影网站
配置Nginx流媒体访问限制参数

5.前后台项目目录分析:

5.1 前台(home):

数据模型:models.py
表单处理:home/forms.py
模版目录:templates/home
静态目录:static

5.2 后台(admin):

数据模型:models.py
表单处理:admin/forms.py
模版目录:templates/admin
静态目录:static

整个项目目录如下图所示:

6.使用蓝图构建项目目录

6.1 什么是目录

一个应用中或跨应用制作组件和通用的模式,类似于Django中的app

6.2蓝图的作用

将不同的功能模块化
构建大型应用
优化项目结构
增强可读性,易于维护

6.3蓝图构建项目目录

6.3.1 定义蓝图

在home目录下的__init__.py文件

​
from flask import Blueprint
home=Blueprint('home',__name__)
import app.home.views​

在admin目录下的__init__.py文件

​
from flask import Blueprint
admin=Blueprint('admin',__name__)
import app.admin.views          ​

6.3.2 注册蓝图

修改app目录下的__init__.py文件

​
from app.admin import admin as admin_blueprint
from app.home import home as home_blueprintapp.register_blueprint(home_blueprint)
app.register_blueprint(admin_blueprint, url_prefix='/admin')​

6.3.3 调用蓝图

home目录下的views.py文件

​
from . import home@home.route("/register/", methods=["GET", "POST"])
def register():pass@home.route("/login/", methods=['GET', 'POST'])
def login():pass​

admin目录下的views.py文件

​
from . import admin@admin.route('/')
def index():pass@admin.route('/login/', methods=['GET', 'POST'])
def login():pass​

转自:https://www.cnblogs.com/renpingsheng/p/9054047.html

Flask开发微电影网站(一)相关推荐

  1. Flask开发微电影网站(三)

    页面完成后的最终布局 电影视频网站首页面 会员登录页面 会员注册页面 点击退出和会员按钮,直接进入会员登录页面 视频播放页面 可以看到,页面共同的部分是顶部导航和底部导航 所以我们可以把页面顶部导航和 ...

  2. Flask开发微电影网站(五)

    后台管理页面是系统管理员登录后对网站进行管理的前端页面 后台登录页面,如下图所示 管理员登录后的页面,如下图所示 管理员登录后,在右上角显示的管理员信息,如下图所示 管理员登录后,在页面中间部分的左侧 ...

  3. Flask开发微电影网站(七)

    1.后台管理之电影管理 1.1 定义电影表单 在app的admin目录的forms.py文件中,定义电影表单 # 电影表单 class MovieForm(FlaskForm):title = Str ...

  4. Flask开发微电影网站(六)

    1. 后台管理登录功能实现 1.1 后台管理页面登录表单LoginForm 在app的admin目录下创建forms.py文件,用来保存admin蓝图中需要使用到的表单 from flask_wtf ...

  5. Flask开发微电影网站(二)

    1.安装数据库连接依赖包 pip install flask-sqlalchemy 2.创建movie数据库 在CentOS虚拟机,进入MaridDB数据库提示符,创建movie数据库 create ...

  6. Flask开发微电影网站(十)

    1.后台管理之角色管理 1.1 角色管理之定义角色表单 在app的admin目录的forms.py文件中,定义角色表单 # 角色表单 class RoleForm(FlaskForm):name = ...

  7. Flask开发微电影网站(八)

    1.后台管理之电影预告管理 1.1 定义电影预告表单 在app的admin目录的forms.py文件中,定义电影预告表单 ​ # 预告表单 class PreviewForm(FlaskForm):t ...

  8. Python-Flask开发微电影网站(一)

    1.用到的Flask知识 1.使用整形,浮点型,路径型,字符串型下正则表达式路由转化器 2.使用GET与POST请求,上传文件,cookie获取与响应,404处理 3.使用模板自动转义,定义过滤器,定 ...

  9. Python-Flask开发微电影网站(五)

    后台管理页面是系统管理员登录后对网站进行管理的前端页面 后台登录页面,如下图所示 管理员登录后的页面,如下图所示 管理员登录后,在右上角显示的管理员信息,如下图所示 管理员登录后,在页面中间部分的左侧 ...

最新文章

  1. ubuntu系统安装mysql(deb-bundle包)
  2. Java 和 HTTP 的那些事(四) HTTPS 和 证书
  3. 云原生网络代理(MOSN)的进化之路
  4. SQL Server 数据库管理常用的SQL和T-SQL语句
  5. excel的常用公式
  6. linux 集成调试工具,linux下can调试工具canutils安装过程记录
  7. iOS开发之字符串(NSString)的拼接
  8. 【优化算法】麻雀搜索优化算法(SSA)【含Matlab源码 1288期】
  9. MarkDown在线生成简历
  10. 弗曼学习法,你在用吗?
  11. 基于element插件的表单验证及重置
  12. oracle数据库表空间扩容方法
  13. iOS开发调试技巧之模拟定位国外位置
  14. 通过bib文件引入参考文献
  15. 360周鸿祎:互联网好产品六字法则——刚需、痛点、高频
  16. 易烊千玺成为罗莱家纺品牌代言人
  17. 【自动驾驶】【小障碍物感知】
  18. 使用Origin画出复杂网络博弈中合作率时间演化图(学术论文)
  19. 【Python数据分析之pandas01】两个常用的数据结构
  20. .net实现微信公众账号接口开发

热门文章

  1. 10w 行级别数据的 Excel 导入,完整优化记录
  2. 用Python写一个新年倒计时
  3. java多线程实现龟兔赛跑
  4. 向量化执行引擎是怎么玩的?
  5. 项目总监岗位职责与思考
  6. 数据分析京东笔记本电脑
  7. 当天期货开户次日就可以交易
  8. js网页3D雪花特效插件(导入直接使用,参数齐全)
  9. 视频压缩编码基本原理
  10. wcp知识库系统的安装