
正文
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







