是乙個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 flaskdef():
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...