Python Flask 构建微电影视频网站
前言
学完本教程,你将掌握:
1.学会使用整形、浮点型、路径型、字符串型正则表达式路由转化器
2.学会使用post与get请求、上传文件、cookie获取与相应、404处理
3.学会适应模板自动转义、定义过滤器、定义全局上下文处理器、JinJa2语法、包含、继承、定义宏
4.学会使用flask-wtf定义表单模型、字段类型、字段验证、视图处理表单、模板使用表单
5学会使用flask-sqlachemy定义数据库模型、添加数据、修改数据、查询数据、删除数据、数据库事件、数据迁移
6.学会使用蓝天优化项目结构,实现微电影网站前台与后台业务逻辑
7.学会flask的部署方法、安装nginx服务、安装编译python3.6服务、安装mysql服务以及通过nginx反向代理对视频流媒体限制下载速度、限制单个IP能发起的播放连接数
开发环境与业务分析
开发环境:
1.操作系统:Windows10
2.编程语言:Python3.6
下载地址:https://www.python.org/
3.数据库mysql5.7
下载地址:https://dev.mysql.com/downloads/mysql/
4.虚拟化环境:virtualenv:pip install virtualenv
代码编辑器:pycharm


Flask简介
轻量级Web应用框架
WSGI工具箱采用Werkzeug
模板引擎则使用JinJa2
Flask使用BSD授权
一个简单的Flask程序
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "<h1 style='color:red'>hello world<h1>"
if __name__ == '__main__':
app.run()
前后端项目目录分析





蓝图构建项目目录
什么是蓝图?
一个应用中或者跨应用制作组件和支持通用的模式
蓝图的作用?
将不同的功能模块化
构建大型应用
优化项目结构
增强可读性,易于维护

app/admin/__init__.py
from flask import Blueprint
admin = Blueprint("admin", __name__)
import app.admin.views
app/home/__init__.py
from flask import Blueprint
home = Blueprint("home", __name__)
import app.home.views
app/__init__.py
from flask import Flask app = Flask(__name__) app.debug = True from app.home import home as home_blueprint from app.admin import admin as admin_blueprint app.register_blueprint(home_blueprint) app.register_blueprint(admin_blueprint, url_prefix="/admin")
app/admin/views.py
from . import admin
@admin.route('/')
def index():
return "<h1 style='color:red'>admin<h1>"
app/home/views.py
from . import home
@home.route('/')
def index():
return "<h1 style='color:red'>home<h1>"
manage.py
from app import app
if __name__ == '__main__':
app.run()
运行manage.py 访问http://127.0.0.1:5000/显示home;访问http://127.0.0.1:5000/admin显示admin
会员及会员登陆日志数据模型设计




安装flask-sqlalchemy
pip install flask-sqlalchemy
Python Flask 构建微电影视频网站的更多相关文章
- Python flask 构建微电影视频网站☝☝☝
Python flask 构建微电影视频网站☝☝☝ 1.安装数据库连接依赖包 pip install flask-sqlalchemy 2.创建movie数据库 在CentOS虚拟机,进入MaridD ...
- Python flask 构建微电影视频网站✍✍✍
Python flask 构建微电影视频网站 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大 ...
- Flask 构建微电影视频网站(一)
Flask构建电影视频网站 Python MTV模型 Flask微内核 Flask扩展插件配置及使用方法 根据业务开发网站前后台功能 Flask结合MySQL数据库 你将可以独立开发网站 独立部署运维 ...
- Flask 构建微电影视频网站(四)
后台管理 实现后台管理系统使用flask sqlalchemy结合mysql数据库进行增删改查操作.分页的使用.路由装饰器定义.模板中变量调用.登录会话机制.上传文件.flask wtforms表单使 ...
- Flask 构建微电影视频网站(二)
搭建前台页面 前台布局搭建 将static中的文件拷贝到项目的static目录下 在app/templates/home下新建home.html,当作基础模板,并修改静态资源链接 <!docty ...
- Flask 构建微电影视频网站(八)
评论收藏及弹幕 实现电影评论添加及列表.数据查询实现统计播放量和评论量.jquery ajax实现收藏电影,flask结合redis消息队列实现电影弹幕,bug处理等功能. 电影评论-统计 class ...
- Flask 构建微电影视频网站(三)
搭建后台页面 视图函数位于admin文件夹下, app/admin/views.py 管理员登录页面搭建 视图函数 @admin.route('/') def index(): return '后台主 ...
- Flask 构建微电影视频网站(七)
电影模块实现 上映预告 @home.route("/animation/") def animation(): """ 首页轮播动画 "&q ...
- Flask 构建微电影视频网站(六)
会员模块实现 会员注册 class RegistForm(FlaskForm): name = StringField( label="昵称", validators=[ Data ...
随机推荐
- Android Hook框架adbi源码浅析(一)
adbi(The Android Dynamic Binary Instrumentation Toolkit)是一个Android平台通用hook框架,基于动态库注入与inline hook技术实现 ...
- C#读取文件夹下所有指定类型,并返回相应类型数据
C#读取文件夹下所有文件 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心 ...
- RuntimeError: Broken toolchain: cannot link a simple C program
今天Python2.7下安装numpy的时候遇到了此错误,进过查阅发现以下方法可行 在Python27\Lib\distutils\msvc9compiler.py 文件中,找到 mfinfo = s ...
- Vue的新启之笔
之前就有接触Vue这一语言,作为一个摊薄饼的我,觉得其基础性的知识体系与其他语言是相通的.且由于贵阳这一城市的地理位置的特殊性,我不得不承认想要从事软件开发这一行业,不精通一门语言不行.因为,任何一家 ...
- sourcetree删除github远程仓库文件
sourcetree删除远程仓库的master分支文件步骤 第一步:删除本地远程仓库分支的所需要文件或者文件夹(本地和远程仓库同步) 第二步:回到sourcetree提交,推送 第三步:刷新远程仓库
- codeforce 804B Minimum number of steps
cf劲啊 原题: We have a string of letters 'a' and 'b'. We want to perform some operations on it. On each ...
- 【HAOI2012】容易题
终于自己做出一道题了quq 原题: 为了使得大家高兴,小Q特意出个自认为的简单题(easy)来满足大家,这道简单题是描述如下:有一个数列A已知对于所有的A[i]都是1~n的自然数,并且知道对于一些A[ ...
- 剑指offer-在数组中查找两个数,是的他们的和正好是S(一次性跑通)(时间复杂度还可以降低)
/*对于一个递增的序列,存在2个数字的和相等,要想这2个数字的乘积最小,则这2个数字的距离最远*/ /*思想:j指向最后一个元素,然后i从前扫描看sum-a[j]在这个序列中吗?若不在j--*/ im ...
- 对象的继承(prototype)
修改构造函数的原型对象,批量修改所有子对象的继承关系
- python 高阶函数学习, map、reduce
一个函数可以接收另一个函数作为参数,这样的函数叫做高阶函数. 函数map(): map()函数接收两个参数,一个是函数,一个是Iterable, map把函数作用于序列的每一个元素,并把结果作为Ite ...