一:Flask應用的佈局
好的一個web application需要有一個優良的項目結構用來組織代碼,這裏給大家推薦一個項目文件結構。
結構如下:
manage.pyrequirements.txtapplicatipn/app.pyconfig.pyfilters.pyforms.py__init__.pymodels.pystatic/templates/__init__.py是一個空文件,目的是爲了告訴python這個應用是被當作一個包。
config.py是用來存放一些配置信息,後面將會接受。
forms.py是用來實現表單類的,藉助了flask-wtf。
models.py是用來實現ORM,藉助了flask-sqlalchemy。
static目錄是存放一些靜態文件的,例如css樣式,js等
templates是存放一些網頁模板文件的。
requirements.txt 是用來存放這個web app使用了哪些擴展。其他用戶可以通過pip -r requirements.txt來批量下載這裏面的擴展
這些文件佔時都是空的,後面的教程將會一點一點往裏面加東西。
app.py存放了以下代碼:
# encoding=utf-8
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "Hello World!"
沒有了app.run,該怎麼讓這個代碼跑起來呢。這裏是使用manage.py來管理代碼的運行。
二:Flask的Script擴展
項目文件組織已經基本ok了那麼下一步需要藉助manage.py來實現對代碼的運行管理。
首先看一下manage.py中的內容:
# encoding=utf-8
from flask.ext.script import Manager
from app.app import app
manager = Manager(app)
app.config['DEBUG'] = True
if __name__ == '__main__':
manager.run()
這個manage.py是需要flask的第三方擴展script來支持的,所以我們需要下載安裝script擴展。
from flask.ext.script import Manager 從script中導入了Manager這個API
from application.app import app 從application這個項目中的app.py中導入了app對象(app對象是一個Flask 的WSCGI)
app.config['DEBUG'] = True 開啓調試模式
接着我們就可以使用manage.py來管理代碼的運行了
首先查看下manage.py的一些選項:
開始運行:
-h指定監聽的地址,-p指定監聽的端口
這個部分到此結束!!!!