flask 框架(二)配置文件与json交互和捕获异常

1,将模块解耦操作,将配置信息拆分到响应的文件之中。在当前目录之下创建文件setting.py

class Config:
    DEBUG = True

 也可以在   ini 系统文件之中, 新建一个文件 set.ini 

DEBUG = True

from flask import Flask
from settings import Config
# 配置信息需要放在独立的配置文件中,因为web开发有个思想、模块化,解耦;
# 实现形式一(必须掌握),导入类对象,配置文件的配置信息必须是大写,
app.config.from_object(Config)

# 实现形式二(了解),加载初始化文件
app.config.from_pyfile('set.ini')

# 实现形式三(了解),加载环境变量
app.config.from_envvar('SETCONFIG')

2,flask与json 交互

from flask import Flask, jsonify
from settings import Config
# 标准json模块
import json

@app.route('/')
def index():
    # json是轻量级的数据交互格式;
    # json和字典的区别:JSON的本质是基于键值对的字符串,类似于python数据类型的字符串
    my_dict = {"name":"python9","age":18}
    # my_dicts = [1,2,3,4,5]
    # dumps方法把字典转成json
    # loads方法吧json转成字典
    # return json.dumps(my_dict)
    # dumps返回的数据类型为text/html
    # jsonify返回的数据类型为application/json,源代码中是 dumps()方法,只是多了个说明信息
    # 建议使用jsonify
    return jsonify(my_dict)

3,flask捕捉异常
  直接抛出异常,与人类交互不友好

@app.route('/')
def index():
    return abort(500)

自定义异常页面,如果发生404异常,就会返回 '服务器搬家了',你还可以渲染一个页面返回

@app.errorhandler(404)
def internal_server_error(e):
    return '服务器搬家了'

 

posted @ 2018-05-18 12:05  十七楼的羊  阅读(190)  评论(0编辑  收藏  举报