Flask學習第1天 01)

2021-08-19 23:16:47 字數 3106 閱讀 9329

1.flask微型框架

是乙個python實現的web開發微型框架
2.django和flask的區別

django-->完善完整高整合的框架

flask--->不包含資料庫抽象層微框架,database,templates需要自己去組裝

微: flask 不包含資料庫抽象層、表單驗證,或是其它任何已有多種庫可以勝任的功能。

環境配置

# 建立虛擬環境

virtualenv --no-site-packages flaskenv

cd flaskenv

cd scripts

# 啟動虛擬環境: activate

# 在虛擬環境中安裝flask

pip isntall flask

執行flask

python hello.py runserver

python hello.py runserver -p 8001

# -p 指定埠

執行引數

debug = true 除錯 #debug可以彈出錯誤頁面

port = '8000' 設定埠

host = '0.0.0.0' # 外部可訪問的伺服器---公網ip

修改啟動方式

# 安裝flask-script包

pip install flask-script

# 安裝好之後需要匯入該模組

from flask_script import manager

# 將run.run()修改為manager.run()

if __name__ == '__main__':

# 啟動專案

manager.run()

# 修改debug模式

runserver -p 8001

-d runserver -p 埠

runserver -h ip

runserver -d debug模式

# flask除錯模式

# 需要乙個 debugger pin: 126-257-303驗證碼,驗證通過後,即可除錯

from flask import flask

# 初始化, __name__代表主模組名或者包

defhello_world

():# 檢視函式

return

'hello world!'

# route() 裝飾器告訴 flask 什麼樣的url 能觸發我們的函式。

# 當前的主模組名,只能在自己模組中執行,被匯入到其他的模組中就無法使用

if __name__ == '__main__':

# 啟動專案

# 有兩種途徑來啟用除錯模式

# 一種是直接在應用物件上設定:

# 另一種是作為 run 方法的乙個引數傳入:

要給 url 新增變數部分,你可以把這些特殊的字段標記為 ,這個部分將會作為命名引數傳遞到你的函式。規則可以用 指定乙個可選的轉換器。
runserver -p 8008 -d

string: 預設的字串

@blue.route('/getstr//')

defhello_name

(name):

return

'hello name %s' % name

int: 整型 — 接受整數

@blue.route('/helloint//')

defhello_int

(id):

# a = 'wangmomo'

# 1/0

return

'hello int: %s' % (id)

float: 浮點型 — 同 int ,但是接受浮點數

@blue.route('/getfloat//')

defhello_float

(price):

return

'float: %s' % price

path: — 動態路徑—和預設的相似,但也接受斜線(也被當作字串返回)

@blue.route('/getpath/')

defhello_path

(url_path):

return

'path: %s' % url_path

uuid型—隨機生成隨機值

import uuid

@blue.route('/getuuid/')

defhello_get_uuid

(): a = uuid.uuid4()

return str(a)

uuid型—獲取生成的隨機值

@blue.route('/getbyuuid/')

defhello_uuid

(uu):

return

'uu:%s' % uu

a31c4eda-1ce0-4b91-b48a-53a78a1d1cdf

pip install flask-blueprint
a)初始化

from flask import flask

def():

from flask import blueprint

# blue----用來管理,規劃自己定義的url

blue = blueprint('first', __name__)

# 處理業務邏輯

@blue.route('/')

defhello_world

():return

'hello world!'

b)路由註冊

from flask import flask

def():

20 Flask實戰第20天 Flask上下文

我們知道通過request可以獲取表單中的資料。如果是多個使用者同時在用 而全域性request就只有乙個,那麼flask是如何分辨哪使用者對應哪個請求呢?這種情況下,就會用到local物件,只要繫結在local物件上的屬性,在每個執行緒中都是隔離的 我們看看,使用多執行緒修改值,不用local物件...

css div學習筆記第1天

1 一列固定寬度 layut 2 一列自適應寬度 layout 3 一列固定寬度居中 layout 說明 margin屬性用於控制物件的上 右 下 左四個方向的外邊距,當margin使用兩個引數時,第乙個引數表示上下邊距,第二個引數表示左右邊距。除了直接使用數值之外,margin還支援乙個值叫aut...

Linux學習筆記第1天

今天學習了linux的有關目錄的基本命令。ls 檢視當前目錄下的檔案和目錄 a檢視所有檔案和目錄,包括隱藏檔案。l檢視檔案的詳細資訊。d檢視目錄的詳細資訊,與 l一起使用。h轉換成方面人檢視的資訊 mkdir 建立目錄 p遞迴建立,可以建立新目錄的同時再建立乙個子目錄 mkdir root desk...