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_blueprint
app.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