flask筆記1:初始化參數、App對象

Table of Contents

 

Flask安裝配置

02認識flask

03虛擬環境

App對象的初始化和配置

01 app初始化參數說明

03 flask的配置參數設置

04 讀取配置參數

05 app.run的使用


Flask安裝配置

02認識flask

框架:能被服務器調用,根據客戶端請求處理形成返回數據

輕量級框架:代表除了框架核心功能,沒有提供豐富的工具組件,組件之間很少相互耦合,自由定製,功能擴展時更方便

Flask基於werkzeug工具箱(支撐WSGI協議)形成框架,模板的功能是由jinja2來的

Django使用命令新建工程,連目錄層級都是他搭建好的,manage.py管理工程、數據庫遷移,有緩存機制、文件存儲系統、用戶認證-->快速開發

Flask使用擴展包-->要做什麼那是你的自由

常用擴展包:

Flask-SQLalchemy:數據庫操作

Flask-migrate:遷移數據庫

Flask-Mail郵件

Flask-WTF表單

Flask-Login:認證用戶狀態

Flask-restful:開發API

Flask-bootstrap:前端twitter Bootstrap框架

03虛擬環境

虛擬環境安裝,避免包混亂,版本衝突,保證程序只能訪問虛擬環境中的包,不會影響全局python解釋器

Virtualenv虛擬環境原理:

虛擬環境是互相隔離的目錄,能看到的變化只是當前目錄前面多了個(flask)

在虛擬環境中pip安裝不能sudo,否則變成系統環境,無法隔離

其實目錄下多了. virtualenv隱藏目錄,其中放了所有新建虛擬環境時安裝的:

1). virtualenv/flask_py2/bin目錄,其中存放了python解釋所需的python2.7文件等

2). virtualenv/flask_py2/lib/python2.7/site-packages/下存放了flask等用pip安裝的工具包。

查看是否安裝virtualenv:

>>> virtualenv --version

我沒有安裝這個,同時用習慣了anaconda的虛擬環境,就直接在之前用過的flask虛擬環境做了,此處使用的py2,課程使用的flask==0.10.1,我使用的flask==1.1.1

activate py2_flask

查看當前虛擬環境安裝過哪些工具包(好使)

pip list

或(更好使)

pip freeze

將工具包輸出到requirements文件,使用>重定向

(py2_flask) D:\>cd D:\anacondaProject

(py2_flask) D:\anacondaProject>pip freeze > requirements.txt

在新環境中安裝時使用:-r可將它逐行讀取安裝

pip install -r requirements.txt

App對象的初始化和配置

01 app初始化參數說明

from flask import Flask

app = Flask(__name__)

__name__表示當前模塊的名字,flask以這個模塊所在的目錄爲總目錄,默認這個目錄中的static爲靜態目錄,templates爲模板目錄

print(__name__)

直接在該文件打印結果:

__main__

一般模塊的名字是文件名,但是作爲啓動模塊的名字卻是固定的

import demo

作爲模塊導入打印結果:

demo

使用__name__等同於

app = Flask("__main__")

在static建立靜態文件index.html或jpg嘗試訪問

activate py2_flask

cd /d D:\anacondaProject\where2go\webapp

python app.py

http://localhost/static/img/bg.jpg

初始化參數:Flask()中傳的

import_name:__name__

static_url_path:訪問靜態資源對應url

static_folder:靜態文件存放目錄,默認static

template_folder:模板文件存放目錄,默認templates

app = Flask(__name__,

       static_url_path="/python",

       static_folder="static",

       template_folder="templates")

http://localhost/python/img/bg.jpg

03 flask的配置參數設置

法一:創建config.cfg文件

DEBUG=TURE

使用config文件:

app.config.from_pyfile("config.cfg")

法二:使用對象配置參數

class Config(object):

       DEBUG = True

app.config.from_object(Config)

法三:修改config字典

app.config["DEBUG"]=True

04 讀取配置參數

配置文件添加參數:

class Config(object):

       DEBUG = True

       ITCAST="python"

app.config.from_object(Config)

在視圖函數中要讀取參數值:

如果函數在app中,可以得到全局對象,app.config可以當作字典取值

@app.route('/')

def welcome():

       app.config.get("ITCAST")

在其他文件中視圖不能直接得到app對象,使用app的全局代理

from flask import current_app

current_app.config.get("ITCAST")

05 app.run的使用

app.run(host= '0.0.0.0', port=80, debug=True)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章