本文的主要内容:flask视图&路由、虚拟环境安装、路由各种定义、状态保持、cookie、session、模板基本使用、过滤器&自定义过滤器、模板代码复用:宏、继承/包含、模板中特有变量和函数、Flask-WTF 表单、CSRF、数据库操作、ORM、Flask-SQLAlchemy、增删改查操作、案例、蓝图、单元测试Flask整套笔记直接地址: 请移步这里共 4 章,42 子模块,总计 29211 字视图及路由
学习目标
相关配置参数在上一节实现了一个最简单的 Flask 应用程序,只使用了7行代码,接来对 Flask 程序的创建,运行配置做进一步的了解,具体有:
初始化参数Flask 程序实例在创建的时候,需要默认传入当前 Flask 程序所指定的包(模块),接下来就来详细查看一下 Flask应用程序在创建的时候一些需要我们关注的参数:
程序加载配置在 Flask 程序运行的时候,可以给 Flask 设置相关配置,比如:配置 Debug 模式,配置数据库连接地址等等,设置 Flask配置有以下三种方式:
使用方式配置对象
# 配置对象,里面定义需要给 APP 添加的一系列配置 class Config(object): # 创建 Flask 类的对象,指向程序所在的包的名称 app = Flask(__name__) # 从配置对象中加载配置 app.config.from_object(Config)
配置文件
# 创建 Flask 类的对象,指向程序所在的包的名称 app = Flask(__name__) # 从配置文件中加载配置 app.config.from_pyfile('config.ini') 环境变量(了解)
# 创建 Flask 类的对象,指向程序所在的包的名称 app = Flask(__name__) # 加载指定环境变量名称所对应的相关配置 app.config.from_envvar('FLASKCONFIG') 读取配置
app.run的参数
路由基本定义
指定路由地址# 指定访问路径为 demo1 @app.route('/demo1') 给路由传参示例有时我们需要将同一类 URL 映射到同一个视图函数处理,比如:使用同一个视图函数来显示不同用户的个人信息。 # 路由传递参数 @app.route('/user/<user_id>')
# 路由传递参数 @app.route('/user/<int:user_id>')
指定请求方式在 Flask 中,定义一个路由,默认的请求方式为:
如果想添加请求方试,那么可以如下指定: @app.route('/demo2', methods=['GET', 'POST']) def demo2(): # 直接从请求中取到请求方式并返回 return request.method demo2 请求方式为: 使用 PostMan 对请求进行测试PostMan 是一款功能强大的网页调试与发送网页 HTTP 请求的 Chrome插件,可以直接去对我们写出来的路由和视图函数进行调试,作为后端程序员是必须要知道的一个工具。
视图常用逻辑
返回JSON在使用 Flask 写一个接口时候需要给客户端返回 JSON 数据,在 Flask 中可以直接使用 jsonify 生成一个 JSON 的响应 # 返回JSON @app.route('/demo4')
重定向
# 重定向 @app.route('/demo5')
# 重定向 @app.route('/demo5')
# 路由传递参数 @app.route('/user/<int:user_id>') # 重定向 @app.route('/demo5') # 使用 url_for 生成指定视图函数所对应的 url return redirect(url_for('user_info', user_id=100)) 自定义状态码
未完待续 下一期下一章完整笔记请看文章开头 |
|