分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

Flask开发微电影网站(一)

发布时间:2023-09-06 01:54责任编辑:沈小雨关键词:暂无标签

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 7python版本:3.6.3开发工具:pycharm 专业版数据库:MariaDB 5.5.56-Server数据库所在系统:CentOS 7.4

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 Blueprinthome=Blueprint(‘home‘,__name__)import app.home.views

在admin目录下的__init__.py文件

from flask import Blueprintadmin=Blueprint(‘admin‘,__name__)import app.admin.views ?????????
6.3.2 注册蓝图

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

from app.admin import admin as admin_blueprintfrom 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

Flask开发微电影网站(一)

原文地址:https://www.cnblogs.com/renpingsheng/p/9054047.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved