開發系統: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)
實現先後臺html佈局頁面搭建 實現Jinja2引擎語法 引入靜態資源文件,404錯誤頁面的處理
Flask sqlalchemy結合MySQL數據表進行增刪改查操做 Flask數據分頁查詢,路由裝飾器定義,模板中變量調用,登陸會話機制,上傳文件 Flask wtforms表單驗證,Flask自定義應用上下文,自定義權限裝飾器對管理系統進行基於角色權限的訪問控制 Flask的多表關聯查詢,關鍵字模糊查詢等
實如今CentOS服務器上搭建Nginx+MySQL+python環境 使用Nginx反向代理多端口多進程部署微電影網站 配置Nginx流媒體訪問限制參數
數據模型:models.py 表單處理:home/forms.py 模版目錄:templates/home 靜態目錄:static
數據模型:models.py 表單處理:admin/forms.py 模版目錄:templates/admin 靜態目錄:static
整個項目目錄以下圖所示:html
一個應用中或跨應用製做組件和通用的模式,相似於Django中的app
將不一樣的功能模塊化 構建大型應用 優化項目結構 加強可讀性,易於維護
在home目錄下的__init__.py文件
中前端
from flask import Blueprint home=Blueprint('home',__name__) import app.home.views
在admin目錄下的__init__.py文件
中python
from flask import Blueprint admin=Blueprint('admin',__name__) import app.admin.views
修改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')
home目錄下的views.py文件
sql
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