1、簡介
Flask是一個使用 Python 編寫的輕量級 Web 應用框架,我們可以使用Python語言快速實現一個網站或Web服務。微架構通常是很小的不依賴於外部庫的框架。這既有優點也有缺點,優點是框架很輕量,更新時依賴少,缺點是你不得不自己做更多的工作,或通過添加插件增加自己的依賴列表。flask默認的模板渲染引擎是janjia2。
2、使用
一個簡單的例子建立客戶端與服務器的通訊,client and server may placed in a computer or different, determined by url and port.
服務器端代碼
from flask import Flask
from flask_json import json_response
app=Flask(__name__) //實例化一個Flask對象
#response test connection function
@m_app.route('/oc/status')
def connected():
return json_response(data_={'status': True})
#通過路由綁定一個視圖函數
#程序實例需要知道所有url對應的執行代碼,所以要有從url到python函數的映射關係。處理url到python函數映#射關係的程序一般叫做路由(Router)。
@m_app.route('/imgQ/sts/<string:bayindex>/<string:examNum>/<string:serialNum>')
def IAandAIResult(bayindex, examNum, serialNum):
return json_response(data_={'status': True})
app.run() //運行Flask應用,可以指定ip和端口
客戶端代碼
import requests
// test connect,loop execution
def ConnectInThread(self):
try:
resp = requests.get(self.m_BaseUrl + "oc/status", proxies=self.proxies, verify=False)
if resp.status_code != 200:
pass
for item in resp.json():
if str(resp.json()[item]) == 'True':
connected = True
except Exception:
self.Pause(1)
def QualityImgfunc(self):
if self.m_bConnected:
print self.m_BaseUrl + 'imgQ/sts/%s/%s/%s'%(self.bayindex,self.examNum,self.serialNum)
resp = requests.get(self.m_BaseUrl + 'imgQ/sts/%s/%s/%s'%(self.bayindex,self.examNum,self.serialNum), proxies=self.proxies, verify=False) //trigger client routing
if resp.status_code != 200:
print resp.status_code
for item in resp.json():
print item, resp.json()[item]
if str(resp.json()[item]) == 'True':
self.ActionDone(['imgQ', True, self.repeatNum])
elif str(resp.json()[item]) == 'False':
self.ActionDone(['imgQ', False, self.repeatNum])
else:
self.ActionDone(['imgQ', False])