3 Python全栈工程师之从网页搭建入门到Flask全栈项目实战 - 入门Flask微框架( 四 )


响应对象方式二:先将对象构造好,修改对象对应属性的值

  • make_response().headers:自定义响应头
  • make_response().status_code:响应状态码
  • make_response().response:响应内容

3 Python全栈工程师之从网页搭建入门到Flask全栈项目实战 - 入门Flask微框架

文章插图
问:如果响应内容我想返回图片视频,或者文字字体颜色、样式、大小都要定制怎么办呢?
解决方案:响应内容以html返回,可以用html文件作为响应内容传到响应对象 make_response()里面;
新建一个Directory,名字命名为templates,将html文件放在该目录下,注意目录名字一定得叫这个,后面笔记内容会解释为什么叫这个名字;通过render_template生成html对象,传给make_response()响应对象 。
3 Python全栈工程师之从网页搭建入门到Flask全栈项目实战 - 入门Flask微框架

文章插图
6. Flask视图重定向等内部视图
1)redirect():实现重定向,常见场景用于退出/登陆后重定向网页页面
3 Python全栈工程师之从网页搭建入门到Flask全栈项目实战 - 入门Flask微框架

文章插图
2)abort():处理错误,针对错误的状态码主动抛出报错;abort后面不需要再加return
3 Python全栈工程师之从网页搭建入门到Flask全栈项目实战 - 入门Flask微框架

文章插图

3 Python全栈工程师之从网页搭建入门到Flask全栈项目实战 - 入门Flask微框架

文章插图
问:能不能指定报错页面展示、或者自定义报错页面返回给客户端展示?
示例代码模拟场景:对黑名单下的ip地址进行拦截,返回403状态码没有权限访问,并自定义报错页面;通过装饰器@app.errorhandler()的函数对abort()抛出的状态码进行处理,注意@app.errorhandler()修饰的函数要传入参数err,打印出来发现err是403/404对应的报错信息
3 Python全栈工程师之从网页搭建入门到Flask全栈项目实战 - 入门Flask微框架

文章插图

3 Python全栈工程师之从网页搭建入门到Flask全栈项目实战 - 入门Flask微框架

文章插图

3 Python全栈工程师之从网页搭建入门到Flask全栈项目实战 - 入门Flask微框架

文章插图
【3 Python全栈工程师之从网页搭建入门到Flask全栈项目实战 - 入门Flask微框架】

经验总结扩展阅读