TECH_FLASK

结合项目的Flask学习与分享

2016-10-27  本文已影响270人  playwolf719

背景与简介


背景


简介


Flask与项目


一个最小的应用——从0到1


  from flask import Flask
  app = Flask(__name__)

  @app.route('/')
  def hello_world():
      return 'Hello World!'

  if __name__ == '__main__':
      app.run()
15-39-20.jpg

我们的扩展——从1到10


15-40-22.jpg 22-35-09.jpg

请求流程图


17-22-18.jpg

框架执行流程图


17-22-23.jpg

项目的问题和启示


小项目的多人开发


15-42-36.jpg

Flask=服务器软件+python框架,这里省去了服务器相关软件的部署,方便了大家的开发工作。如上图,在面对多人开发的情况下,我们有一个唯一的项目目录用来面向用户,而与此同时也保证每个人都拥有一个自己的服务器端口方便修改调试。另外一点是,一开始项目设计耦合度就比较低,方便了大家代码的融合。当然项目大了的话,还是要通过使用git等版本库进行版本控制,避免风险。

python严格的数据格式及编码要求


事实上,python对数据格式及编码要求很严格,一般从数据库中取出的数据都要进行类型转换,才能正常转为json,这里提供一种常用的方法,方便对多类型的数据进行格式化。当然,这个函数只是解决了部分情况,还有很多需要大家进行补充。

def json_serial(obj):
    """JSON serializer for objects not serializable by default json code"""
    if isinstance(obj, datetime):
        serial = obj.strftime("%Y-%m-%d %H:%M:%S")
        return serial
    if isinstance(obj, date):
        serial = str(obj)
        return serial
    if isinstance(obj, decimal.Decimal):
        return float(obj)
    raise ValueError (str(type(obj) ) )

def retInJson(data="",msg="操作成功!",ret=0):
    res = {
        "ret":ret,
        "msg":msg,
        "data":data,
    }
    data = json.dumps(res,default=json_serial)
    return data
上一篇 下一篇

猜你喜欢

热点阅读