第一章、项目介绍

 1.1.前言   

本教程我将带领大家如何使用flask框架开发微电影网站。Flask是python中最受欢迎的轻量级web框架,flask扩展丰富,冗余度小,可自由选择组合各种插件,性能优越。

相比其他web框架十分轻量级,其优雅的设计哲学,易于学习掌握。小型项目快速开发,大型项目毫无压力。由于flask灵活开发的特点,python高手都会青睐flask,正基于

此,它被许多公司应用在项目开发中,成为很多创业公司以及个人创业者门追捧的web开发框架,本教程主要使用flask构建一个个性化定制的前台结合后台管理系统的微

电影网站,项目开发过程严格按照互联网公司的标准流程。让学习者在开发中写出更优雅简练的代码。

 1.2.掌握的技术

通过学习本教程,你将掌握flask框架以下知识:

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

之后我们通过项目实战,结合各种flask的插件配置及使用,让大家体会flask的看家本领微内核+扩展插件,带领你前所未有的快感。

1.3.用到的扩展插件 

本教程用到的扩展插件有

  • werkzug工具箱
  • pymysql数据库驱动
  • sqlalchemy数据库orm
  • wtforms表单验证工具
  • jinjia2模板引擎
  • flask-script命令行脚本
  • functools定义高阶函数

1.4.视频技术

最后还将学到更实用的视频技术

  • jwplayer播放器插件
  • 视频限速限IP访问
  • flv、MP4视频格式支持
  • nginx点播实现

1.5.章节安排

接下来介绍详细教程安排,教程一共十一章,大致分为六部分

(1)教程介绍

  • 介绍微电影网站整体开发流程
  • flask简介
  • 学完教程掌握的知识点

(2)环境搭建与工具

  • 搭建开发环境安装依赖包、virtualenv虚拟化环境的使用
  • pycharm编辑器的使用、介绍pip下载工具的使用

(3)项目优化与模型设计

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

(4)前端搭建

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

(5)后端开发

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

(6)网站部署

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

1.6.技术储备要求

只要你是pythoner,你就应该学会flask,作为一个合格的pytoner,只掌握一个框架是不够的,如果你有过其它python框架,例如django的使用经验,对比不同框架来学习,你将收获更多。多一项技能,就多一分工作机会哦!学习前,希望你符合以下技术储备要求,学习本教程的必备基础是:

  • 有自学能力
  • 需要掌握python基本语法
  • 会使用mysql数据库
  • 会liunx基本操作
  • 有前端基础知识

小伙伴们还在等什么,一起来实战吧!

1.7.系统功能介绍

前台

  • 会员登录及注册
  • 会员中心
  • 电影播放
  • 电影评论
  • 收藏电影

后台

  • 管理员登录
  • 修改密码
  • 标签管理
  • 上映预告管理
  • 会员管理
  • 评论管理
  • 收藏管理
  • 角色管理
  • 权限管理

开发及生产环境

  • win7
  • python3
  • mysql
  • html5
  • flask
  • nginx
  • pycharm

1.8.python web框架对比

三种web框架的比较

  • Flask 扩展丰富,冗余度小,可自由选择组合各种插件,性能优越,相比其他web框架十分轻量级,其优雅的

     设计哲学易于学习掌握,小型项目快速开发,大型项目毫无压力,FLask灵活开发,python高手基本都会喜欢flask

  • Django 是重量级全栈型web框架,虽然功能强大,但冗余度高,自带ORM和模板引擎,灵活和自由度不够高

      开发小型项目时显得过于臃肿与庞大

  • Tornado 是一个强大的、支持协程、高并发且可扩展的web服务器,发布于2009年9月,应用于FriendFeed

      Facebook等社交网站。Tornado的强项在于可以利用他的异步协程机制开发高并发的服务器系统

1.9.flask简介

flask简单介绍

  • 轻量级web应用框架
  • WSGI工具箱采用Werkzeug
  • 模板引擎则使用Jinja2
  • Flask使用BSD授权

1.10.“微内核”框架简介

微内核

  • 称为“microframework”,简单的核心,用extension增加其他功能。
  • 没有默认的数据库、窗体验证工具
  • 保留扩展的弹性,可用Flask-extension加入这些功能:ORM、窗体验证工具文件上传、各种开放方式身份验证技术

第二章、环境搭建

2.1.虚拟环境搭建

(1)环境变量设置

  • 桌面新建文件夹Envs
  • 新建环境变量:以后创建虚拟环境会自动保存到这个路径

  

(2)虚拟环境安装

pip install virtualenv

pip install virtualenvwrapper-win

mkvirtualenv flask_project    #创建虚拟环境

workon                       #查看有哪些虚拟环境

workon flask_project      #进入创建的虚拟环境

deactivate.bat      #退出虚拟环境

activate.bat        #激活虚拟环境

2.2.第一个flask程序

(1)flask的安装

pip install -i https://pypi.douban.com/simple flask

(2)创建项目

创建项目movie_project,然后创建app.py

from flask import Flask

#实例化flask对象
app = Flask(__name__) #将'/'和函数index的对应关系加到路由中
@app.route('/')
def index():
return 'Hello World!' if __name__ == '__main__':
app.run()

浏览器访问:http://127.0.0.1:5000/

Flask构建微电影(一)的更多相关文章

  1. Flask构建微电影(二)

    第三章.项目分析.搭建目录及模型设计 3.1.前后台项目目录分析 微电影网站 前台模块 后台模块 前台(home) 数据模型:models.py 表单处理:home/forms.py 模板目录:tem ...

  2. Python flask 构建微电影视频网站☝☝☝

    Python flask 构建微电影视频网站☝☝☝ 1.安装数据库连接依赖包 pip install flask-sqlalchemy 2.创建movie数据库 在CentOS虚拟机,进入MaridD ...

  3. Python flask 构建微电影视频网站✍✍✍

    Python flask 构建微电影视频网站  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大 ...

  4. Flask 构建微电影视频网站(一)

    Flask构建电影视频网站 Python MTV模型 Flask微内核 Flask扩展插件配置及使用方法 根据业务开发网站前后台功能 Flask结合MySQL数据库 你将可以独立开发网站 独立部署运维 ...

  5. Python Flask 构建微电影视频网站

    前言 学完本教程,你将掌握: 1.学会使用整形.浮点型.路径型.字符串型正则表达式路由转化器 2.学会使用post与get请求.上传文件.cookie获取与相应.404处理 3.学会适应模板自动转义. ...

  6. Flask 构建微电影视频网站(四)

    后台管理 实现后台管理系统使用flask sqlalchemy结合mysql数据库进行增删改查操作.分页的使用.路由装饰器定义.模板中变量调用.登录会话机制.上传文件.flask wtforms表单使 ...

  7. Flask 构建微电影视频网站(八)

    评论收藏及弹幕 实现电影评论添加及列表.数据查询实现统计播放量和评论量.jquery ajax实现收藏电影,flask结合redis消息队列实现电影弹幕,bug处理等功能. 电影评论-统计 class ...

  8. Flask 构建微电影视频网站(三)

    搭建后台页面 视图函数位于admin文件夹下, app/admin/views.py 管理员登录页面搭建 视图函数 @admin.route('/') def index(): return '后台主 ...

  9. Flask 构建微电影视频网站(二)

    搭建前台页面 前台布局搭建 将static中的文件拷贝到项目的static目录下 在app/templates/home下新建home.html,当作基础模板,并修改静态资源链接 <!docty ...

随机推荐

  1. 序列化与反序列化中serialVersionUID的作用(通俗易懂)

    serialVersionUID:字面意思上是序列化的版本号,这个在刚刚接触java编程时,学序列化大家一般都不会注意到,在你一个类序列化后除非你强制去掉了myeclipse中warning的功能,在 ...

  2. Linux 学习笔记_12_文件共享服务_2_FTP应用--vsftpd

    Wu-FTP:古老,配置复杂 Proftp:功能强大 vsftp: 安全,高速,稳定[系统默认的FTP软件] VSFTP服务器配置 启动:/etc/rc.d/init.d/vsftpd start [ ...

  3. 跨平台移动APP开发进阶(一)mui开发注意事项

    mui开发注意事项 Mui HTML5开发框架 mui是一个高性能的HTML5开发框架,从UI到效率,都在极力追求原生体验:这个框架自身有一些规则,刚接触的同学不很熟悉,特总结本文:想了解mui更详细 ...

  4. [SqlServer]如何向数据库插入带有单引号(')的字符串

    今天在做一个复制功能的时候,发现存在单引号字符串与INSERT INTO 语句的' '产生冲突. 在网络上找到了一个这样功能 如何向数据库插入带有单引号(')的字符串 用SQL语句往数据库某字段(字符 ...

  5. 将studio项目 转换为eclipse项目

    总会有些奇怪的事情,比如,有的人就有将studio项目 转换为eclipse项目的需求 首先,不要因为编译原因而放弃.studio项目是完全可以转换成eclipse的 本站的开源代码板块有很多项目都是 ...

  6. 通过CSS显示垂直文本

    原文链接: CSS Vertical Text 原文日期: 2014年03月18日 翻译日期: 2014年3月22日 翻译人员: 铁锚 示例地址: http://davidwalsh.name/dem ...

  7. lamp 环境配置

    LAMP是一个缩写Linux+Apache+MySql+PHP,它指一组通常一起使用来运行动态网站或者服务器的自由软件: * Linux,操作系统:* Apache,网页服务器:* MySQL,数据库 ...

  8. AngularJS进阶(四)ANGULAR.JS实现下拉菜单单选

    ANGULAR.JS: NG-SELECT AND NG-OPTIONS PS:其实看英文文档比看中文文档更容易理解,前提是你的英语基础还可以.英文文档对于知识点讲述简明扼要,通俗易懂,而有些中文文档 ...

  9. javascript访问html元素的内容(2)

    对于(1)中最后一个包装方式创建的是一个方法,我们必须以方法调用的方式来使用它,这和其他默认的以属性返回结果略有不同,如果有强迫症的童鞋有些伤不起,那么我们下面就把它实现为属性返回的方式: //chi ...

  10. 四、删除 Delete

    文档目录 开始使用  初始化查询实例: LambdaToSql.SqlClient DB = new LambdaToSql.SqlClient(); 删除单个实体,通过Guid主键删除 var gu ...