1 什么是flask
Flask是一個使用 Python 編寫的輕量級 Web 應用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎則使用 Jinja2 。
百度百科:點擊前往
中文文檔:點擊前往
2 利用pip安裝flask模塊
2.1 前提
安裝好python、配置好環境變量
2.2 查看python版本
2.3 查看已經安裝好的模塊
2.4 利用pip安裝flash模塊
注意:為了速度更快建議將pip的源換成豆瓣的
pip3 install -i https://pypi.doubanio.com/simple/ flask
3 創建Flask應用的步驟
3.1 創建一個后綴為 py 的文件
3.2 從flask模塊中導入Flash類
from flask import Flask
3.3 利用Flask類創建一個Flask實例
app = Flask(__name__)
3.4 定義一個測試方法,用來項前端傳送數據
def test():
return "Hello Fury"
3.5 指定路徑和方法的匹配規則(有點類似java中springMVC的請求分發)
app.add_url_rule('/', view_func=test)
解釋:根路徑對應test方法(即:前端發送的請求路徑是根路徑時后台就執行test方法)
注意:后台向前端發送的數據一般都是字符串的
3.6 運行后台
app.run()
3.7 完整代碼

from flask import Flask app = Flask(__name__) def test(): return "Hello Fury" app.add_url_rule('/', view_func=test) app.run()
3.8 利用python自帶的IDLE打開myTest.py,然后運行
3.9 通過瀏覽器訪問 http://localhost:5000/ 的效果如下
查看源代碼為
注意:在源代碼中沒有發現任何html標簽,由此說明后台傳過來的都是字符串;如果想要出現html標簽可以直接將html標簽寫到后台的字字符串中然后傳過來
4 利用pyCharm(專業版)創建一個簡單的flash應用
4.1 pyCharm(專業版)安裝包:
鏈接:http://pan.baidu.com/s/1jI5lnYQ 密碼:osl8
4.2 pyCharm(專業版)注冊碼教程
4.3 創建flash應用
創建成功后的效果
5 利用裝飾器來匹配路徑和執行方法
@app.route('/')
def test():
return "Hello Fury"
代碼解釋:瀏覽器發送的請求路徑時根路徑時就執行test方法(類似於java中springMVC中利用注解實現請求分發)
上面的代碼時下面三行代碼的進化版本
def test():
return "Hello Fury"
app.add_url_rule('/', view_func=test)
完整代碼如下
6 app.route('路徑') 剖析
6.1 裝飾器
裝飾器本質上是一個Python函數,它可以讓其他函數在不需要做任何代碼變動的前提下增加額外功能,裝飾器的返回值也是一個函數對象。
6.2 flash對象的route方法的返回值
這個返回值時一個裝飾器(即:app.route不是裝飾器,app.route執行后的放回值是裝飾器【app.route()是裝飾器】)
7 app.run() 剖析
7.1 Flash對象的run方法有三個默認參數
注意:其實這三個默認參數是flash應用的配置項
7.1.1 host
用來指定監聽的IP地址,如果是127.0.0.1表示只能本機訪問,如果是0.0.0.0表示所有機器都能訪問;默認是127.0.0.1
7.1.2 post
用來指定請求端口;默認值是5000
7.1.3 debug
用來指定是否開啟調試模式;默認值是false
如果開啟調試模式,pyCharm會在我們修改了代碼后自動重新運行應用;如果出現錯誤會在客戶端顯示錯誤信息
8 app.config 剖析
Flash對象的config屬性其實是一個字典(查看源碼就能看出來)
8.1 利用字典的方法更新Flash對象的config屬性
8.2 利用app.config對象提供的方法來修改config的value值
9 本博客知識點

from flask import Flask Flask app = Flask(__name__) app.run(host=主機, port=端口, debug=True) app.add_url_rule('規則', view_func=函數) app.config --> Config類的實例 --> dict子類 dict --> update [key]=value Config --> from_pyfile from_object from_json app.route 它不是個裝飾起 mydec = app.route('路徑') @mydec def func(): return 'This is a view' 作業練習: 1. 自己綁定一個函數到一個路徑上(不能是根路徑) 2. 開啟debug模式 3. 用from_pyfile加載開啟debug模式,並輸出app.config
10 三少需要復習的知識點
sqlalchemy
python異常
json、ajax
python基礎知識
2017年9月3日01:45:54