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. 六大设计原则(二)LSP里氏替换原则

    里氏替换原则LSP(Liskov Subsituation Principle) 里氏替换原则定义 所有父类出现的地方可以使用子类替换并不会出现错误或异常,但是反之子类出现的地方不一定能用父类替换. ...

  2. Fundebug微信小程序错误监控插件更新至1.1.0,新增test()与notifyHttpError()方法

    摘要: 1.1.0新增fundebug.test()和fundebug.notifyHttpError()方法,同时大小压缩至15K. Fundebug是专业的小程序BUG监控服务,可以第一时间为您捕 ...

  3. 6.使用桌面版AI伴侣或手机版AI伴侣实时预览编程效果

    1.根据自己系统下载对应版本AI伴侣,最好解压到D盘根目录. 运行ailaunch.bat ,可以启动原本自带的2.46版AI伴侣.运行AI伴侣247.bat可以启动汉化2.47版的AI伴侣.并且默认 ...

  4. Jmeter + Grafana搭建实时监控可视化

    小贴士: 建议使用jmeter3.3+版本,在这个版本以后才有backend listenter 对接influxDB. Jmeter中backend listenter如图 ​ influxdbUr ...

  5. 三、 redis进阶篇

    1. redis事务 使用方法:方法为先发送multi命令告诉redis,下面所有的命令属于同一个事务,先不要执行,而是把他们暂时存起来,redis返回OK,然后后面执行需要放在同一个事务里的命令,可 ...

  6. sqlserver的坑

    1.今天系统出现BUG,经过两个小时的排查,发现是存储过程中的SELECT @@IDENTITY的值发生错乱,导致的系统BUG,经过百度,发现这个函数貌似和触发器有冲突,一旦插入的表有触发器的话,@@ ...

  7. windows之如何把iso文件转换为VHD文件

    (1)Convert-WindowsImage.ps1的下载路径: 链接:https://pan.baidu.com/s/18duFQFW8T_yI2JeQ1lhJgQ 提取码:b5ps autoun ...

  8. pytest进阶之fixture

    前言 学pytest就不得不说fixture,fixture是pytest的精髓所在,就像unittest中的setup和teardown一样,如果不学fixture那么使用pytest和使用unit ...

  9. 6.[leetcode] ZigZag Conversion

    The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like ...

  10. 微信小程序去除Button默认样式

    在小程序开发过程中,使用率蛮高的组件button,因为经常要去除默认样式,然后再自定义样式,所以经常写,自己也总结分享一下简单的实现步骤. (一)实现效果1.实现前(默认样式): 2.实现后(去除默认 ...