flask之旅: 開發前環境準備

小諾哥發表於2019-01-20

Falsk簡介

Flask是非常流行的Python Web框架,流行的主要原因有:

- 文件齊全, 上手快- 本身核心足夠精簡, 有非常好的擴充套件機制和第三方擴充套件環境(熟悉node的童鞋類比Express/Koa)- 社群活躍度高- 開發者自由有很大的選擇空間複製程式碼

Falsk主要依賴三個庫:

- Jinja2: 預設的模班引擎- Werkzeug: 一個包含WSGI, 路由, 除錯的工具集- Itsdangerous: 基於Django的簽名模組複製程式碼

安裝Python

正確的安裝python

安裝pyenv

Python版本管理神器-pyenv

安裝pipenv

pipenv被譽為新一代Python專案環境與依賴管理工具。

flask的最小應用

想看英文文件的可以閱讀Basic Usage of Pipenv

  • 建立一個工作目錄, 使用pipenv shell.
  • 安裝flask, 通過pipenv install flask
  • pycharm基本配置
這裡主要是配置你的開發環境, 你需要配置對應專案的直譯器複製程式碼
直譯器
  • 專案的目錄結構以及最小的flask應用
flask應用
# 匯入Flask類, 該類的例項作為我們的WSGI應用from flask import Flask# 建立例項, 傳入應用模組名字或者包名, 這個引數是必須的# 一般傳入__name__來確定程式的根目錄app = Flask(__name__)# 通過路由裝飾器, 把路由與檢視進行對映@app.route('/')def hello_world():    return 'Hello, World!'# 如果是其他檔案引用該模組檔案是不會執行app.run()if __name__ == '__main__':    app.run()複製程式碼

啟動之後你在瀏覽器能看到:

demo

值得注意的是,預設的app.run啟動服務後, Flask只會監聽虛擬機器的本地127.0.0.1這個地址, 埠為5000。 這個時候我們用ip去訪問是會報錯的,所以我們最好修改下host, port。

你去檢視app.run()的原始碼可以看到:

def run(self, host=None, port=None, debug=None,            load_dotenv=True, **options):複製程式碼

所以我們只需要這樣改:

# 0.0.0.0表示監聽所有地址, 這樣其他電腦就可以訪問你的程式了。if __name__ == '__main__':    app.run(host='0.0.0.0', port='9999')複製程式碼

除錯模式

上面原始碼中我們發現還可以傳遞一個debug選項, 相信大多數人應該猜到了除錯。 是的設定debug為True, 即開啟除錯模式。

開啟除錯模式有如下好處:

  1. 伺服器在程式碼修改後自動重新載入(node有nodemon)
  2. 發生錯誤時會提供一個獲得錯誤上下文執行程式碼的除錯頁面

開啟除錯模式的方法有:

# 在應用物件上設定app.debug = True# 作為run引數傳入app.run(debug=True)複製程式碼

值得注意的是除錯模式僅用於開發環境, 生產環境我們一般使用Nginx+uWSGI。

來源:https://juejin.im/post/5c43f947f265da61561f888b

相關文章