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 '服务器搬家了'