Flask是流行的python web框架...(* ̄︶ ̄)
零基礎到企業級論壇實戰,人生苦短,我用python,開啟FLask之旅吧...
安裝開發環境
下載Python win版安裝包
雙擊運行,選擇自定義安裝,勾選Add Python 3.6 to PATH
安裝完成之后,進入cmd窗口,輸入python即可進入python環境
這里我們使用virtualenv虛擬開發環境
為什么使用virtualenv?
1、使用不同應用開發環境獨立開發
2、環境升級不影響其他應用,也不會影響全局的Python環境,虛擬環境就是講全局環境做一個私有的復制
3、它可以防止系統中出現包管理混亂和版本的沖突
安裝virtualenv
pip install virtualenvwrapper-win
創建一個虛擬環境 flask-env
虛擬環境的基本操作

#查看當前的虛擬環境 workon #進入指定的虛擬環境,比如flask-env workon flaks-env #退出虛擬環境 deactivate #刪除指定的虛擬環境,比如flask-env rmvirtaulenv flask-env
本地磁盤D新建項目目錄:my_flask
打開Pycharm,創建Flask項目
創建完成后,my_flask.py是這個項目的主程序

#從flask這個包中導入Flask類,這個類時核心項目 from flask import Flask #創建一個Flask對象,傳遞__name__參數 #__name__參數作用 #1. 可以規定模板和靜態文件的查找路徑 #2. 以后一些插件報錯了,可以通過這個參數找到具體的錯誤位置 app = Flask(__name__) #@app.route是一個裝飾器 #@app.route('/')就是將url中的/映射到hello_world這個視圖函數上面 #當你訪問網站/目錄的時候,會執行hello_world函數,然后這個函數的返回值給瀏覽器 @app.route('/') def hello_world(): return 'Hello World!' #如果這個文件是作為一個主文件運行,那么執行app.run()方法,即啟動網站 #app.run()是flask中的一個測試應用服務器 if __name__ == '__main__': app.run()
使用pycharm啟動項目:Run-->Run...-->my_flask, 默認啟動的端口是5000,通過瀏覽器訪問http://127.0.0.1:5000
更改啟動端口
如果我們不想使用默認的5000端口,可以給app.run()傳遞一個port參數,比如8000端口
if __name__ == '__main__': app.run(port=8000)
更改綁定地址
默認只綁定了127.0.0.1,如果我們想讓局域網其他電腦也能夠方法,就需要綁定到本機其他ip,我們可以綁定0.0.0.0
if __name__ == '__main__': app.run(host='0.0.0.0')
debug模式
在開發過程中,我們需要開啟debug模式,如果出現異常,瀏覽器會顯示錯誤信息及位置,方便開發者調試
開啟debug模式還有個好處就是:當我們修改完代碼,按ctrl + s保存代碼后會自動重啟服務
開啟debug模式方法1:
在app.run()方法添加參數debug=True
if __name__ == '__main__': app.run(debug=True)
開啟debug模式方法2:
app = Flask(__name__) app.debug = True
開啟debug模式方法3:
app = Flask(__name__) app.config.update(DEBUG=True)
開啟debug模式方法4:
在項目下面單數創建一個配置文件config.py,里面就可以寫配置信息了,這里我只需要寫一行
DEBUG = True
然后我們需要在主程序my_flask.py中導入這個config,並且配置使用它來作為配置
import config ... app.config.from_object(config) ...
我們來故意寫個錯誤的代碼
@app.route('/') def hello_world(): a = 10 b = 0 c = a /b #0是不能被作為除數的,這樣寫肯定會報錯 return c
如果我們開啟了debug模式,瀏覽器會顯示錯誤原因
如果沒有開啟debug模式,則是單純的顯示內部服務器錯誤,這樣不利於我們排查
配置文件
配置文件已經在debug模式的第4種方法種提到過得一種,這種也是我喜歡用的
其實還有另外一種方式: 使用app.config.from_pyfile的方式加載配置文件
這種方式不需要import, 直接使用app.config.from_pyfile('config.py')就可以了, 注意這個地方,必須要寫文件全名,后綴名不能少!
1、這種方式加載配置,不局限於只能使用py文件,普通的txt文件同樣適用
2、這個方式,可以傳遞silent=True,當這個配置文件沒有找到的時候,不會拋出異常
app.config.from_pyfile('config.txt', silent=True)