1:Flask 使用 request对象代理了当前请求的上下文。这么做什么好处和坏处?

好处:flask封装了C端发起request对象,这样就可以使用上下文临时把某些对象变为全局可访问;如果不封装,视图函数就要传入request对象,这时候视图函数要是还要访问其他对象,会把视图函数弄得一团糟,

坏处:增加了理解的难度。虽然用起来很爽。但是request是怎么来的,传递过程,代理什么的。

2:Flask 的核心特性封装的request对象,做了什么事?

3,before_requests钩子和before_app_requests钩子的区别?

使用蓝图时,before_requests / after_requests 钩子只能控制蓝图内路由,如果是控制全局内的路由,要用before_app_requests

4,如何在多个环境执行单元测试?

多环境单元测试的解决思路:延迟程序实例的创建,这样就可以创建多个程序实例

操作:在app路径下的__init__.py文件里的工厂函数去实例化app对象

5,Flask的路由是怎么实现的?

使用时我们都知道的方式是:URL-> viewfunction

其实Flask还有一件事就会中间加入了端点endpoint,也就是 URL -> endpoint -> viewfunction

endpoint是处理单元的id,id映射到view函数,flask在收到request时候,会去endpoint里找viewfunction注册的id

6,Flask_login是怎么使用的?

flask_login的使用步骤:

1,初始化flask_login,设置seesion的保护等级,设置登录路由的endpoint

2,实现一个user回调,也就是怎么获得user的id

3,在需要先登录的view函数,加上装饰器login_required

7,Flask_login为什么要用user_loader?

源码里说:

Reason to let YOU define this self.user_callback:    Because we won't know how/where you will load you user object.

flask_login无法知道在哪里加载用户对象,也就是flask_login无法知道要访问数据库哪一个表,无法知道在哪里加载user的id就无法在模型里对user标记为已登录,所以需要用回调来确认加载哪个table哪个字段

具体解释:https://segmentfault.com/q/1010000010253582

Flask技术问题汇总的更多相关文章

  1. 中国.NET:各地微软技术俱乐部汇总(持续更新中...)

    中国.NET:各地微软技术俱乐部汇总(持续更新中...)   本文是转载文,源地址: https://www.cnblogs.com/panchun/p/JLBList.html by ​史记微软. ...

  2. 转:微博"收藏/赞/转发"技术资料汇总

    书籍 HTTP权威指南 <- @Fenng Introduction to Information Retrieval <- @陈利人 Lua 源码欣赏 <- @简悦云风 The A ...

  3. Hadoop笔记——技术点汇总

    目录 · 概况 · Hadoop · 云计算 · 大数据 · 数据挖掘 · 手工搭建集群 · 引言 · 配置机器名 · 调整时间 · 创建用户 · 安装JDK · 配置文件 · 启动与测试 · Clo ...

  4. Spring MVC & Boot & Cloud 技术教程汇总(长期更新)

    昨天我们发布了Java成神之路上的知识汇总,今天继续. Java成神之路技术整理(长期更新) 以下是Java技术栈微信公众号发布的关于 Spring/ Spring MVC/ Spring Boot/ ...

  5. Cloud Foundry技术资料汇总

    来自:http://cnblog.cloudfoundry.com/2012/05/ 本文是Cloud Foundry的一个简单上手指南和资料汇总,内容将根据产品的发布定期更新. Cloud Foun ...

  6. Java后端技术面试汇总(第一套)

    面试汇总,整理一波,doc文档可点击[此处下载] 1.基础篇 1.1.Java基础 • 面向对象的特征:继承.封装和多态• final, finally, finalize 的区别• Exceptio ...

  7. 大数据之Hadoop技术入门汇总

    今天,小编对Hadoop入门学习知识进行了汇总,帮助大家更好地入手大数据.小编关于Hadoop入门总共发写了12篇原创文章,文章是参照尚硅谷大数据视频教程来进行撰写的. 今天,小编带你解锁正确的阅读顺 ...

  8. 【同行说技术】Android图片处理技术资料汇总(一)

    对于Android开发的童鞋们来说,图片处理时或多或少都会遇到令人头疼和不满意的问题,今天小编收集了5篇Android图片处理的干货文章,一起来看看吧! 一.Android 高清加载巨图方案 拒绝压缩 ...

  9. Android 技术用于汇总

    id 名词 含义 详细  1 Android CTS     CTS 全称 Compatibility Test Suite 兼容性测试工具 当产品开发出来以后,并定制了自己的 Android 系统后 ...

随机推荐

  1. Redis数据结构和常用API

    Redis是一个速度非常快的非关系型数据库,可以存储键与5中不同数据结构类型之间的映射.这5种数据结构分别是STRING(字符串).LIST(列表).SET(集合).HASH(散列).ZSET(有序集 ...

  2. js数组中的find(), findIndex(), filter(), forEach(), some(), every(), map(), reduce()方法的详解和应用实例

    1. find()与findIndex() find()方法,用于找出第一个符合条件的数组成员.它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该 ...

  3. C# 将datatable导出成Excel

    public void Result( ){try{StringBuilder sql = new StringBuilder();List<SqlParameter> parameter ...

  4. pytest框架之命令行参数2

    前言 上篇博客说到命令行执行测试用例的部分参数如何使用?今天将继续更新其他一些命令选项的使用,和pytest收集测试用例的规则! pytest执行用例命令行参数 --collect-only:罗列出所 ...

  5. scrapy-redis 分布式爬虫

    为什么要学? Scrapy_redis在scrapy的基础上实现了更多,更强大的功能. 有哪些功能体现? request去重.爬虫持久化.实现分布式爬虫.断点续爬(带爬取的request存在redis ...

  6. Javascript高级编程学习笔记(98)—— WebGL(4) WebGL上下文(2)

    错误 Javascript与WebGL之间的一个最大区别在于,WebGL的操作一般不会抛出错误 如果希望获取WebGL的错误信息,那么就需要手动调用  gl.getError() 方法 该方法会返回以 ...

  7. 用ASP.NET Core 2.0 建立规范的 REST API -- DELETE, UPDATE, PATCH 和 Log

    本文所需的一些预备知识可以看这里: http://www.cnblogs.com/cgzl/p/9010978.html 和 http://www.cnblogs.com/cgzl/p/9019314 ...

  8. nginx.conf添加lua.conf配置

    1.在nginx的conf下配置lua.conf......vi lua.conf server { listen ; server_name _; location /lua { default_t ...

  9. 我眼中的 Nginx(一):Nginx 和位运算

    作者张超:又拍云系统开发高级工程师,负责又拍云 CDN 平台相关组件的更新及维护.Github ID: tokers,活跃于 OpenResty 社区和 Nginx 邮件列表等开源社区,专注于服务端技 ...

  10. 从零开始搭建运维体系 - ansible

    从零开始搭建运维体系 - ansible 基本配置好了局域网内的机器后,第一个遇到的问题就是如何批量操作这么多台机器,ansible就是这么一个自动化运维工具. ansible是一个基于ssh的批量远 ...