flask

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])
        

 

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