没有合适的资源?快使用搜索试试~ 我知道了~
2020年python的面试题整理Web篇.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 166 浏览量
2022-11-26
18:54:47
上传
评论
收藏 573KB PDF 举报
温馨提示
试读
14页
...
资源推荐
资源详情
资源评论
2020 年 python 的面试题整理 Web 篇
Flask
140.对 Flask 蓝图(Blueprint)的理解?
蓝图的定义
蓝图 /Blueprint是 Flask 应用程序组件化的方法,可以在一个应用内或跨越多
个项目共用蓝图。使用蓝图可以极大简化大型应用的开发难度,也为 Flask 扩
展提供了一种在应用中注册服务的集中式机制。
蓝图的应用场景:
把一个应用分解为一个蓝图的集合。这对大型应用是理想的。一个项目可以实
例化一个应用对象,初始化几个扩展,并注册一集合的蓝图。
以 URL 前缀和/或子域名,在应用上注册一个蓝图。URL 前缀/子域名中的参数
即成为这个蓝图下的所有视图函数的共同的视图参数(默认情况下) 在一个应
用中用不同的 URL 规则多次注册一个蓝图。
通过蓝图提供模板过滤器、静态文件、模板和其他功能。一个蓝图不一定要实
现应用或视图函数。
初始化一个 Flask 扩展时,在这些情况中注册一个蓝图。
蓝图的缺点:
不能在应用创建后撤销注册一个蓝图而不销毁整个应用对象。
使用蓝图的三个步骤
1.创建一个蓝图对象
blue = Blueprint("blue",__name__)
2.在这个蓝图对象上进行操作,例如注册路由、指定静态文件夹、注册模板过
滤器...
@blue.route('/')
def blue_index():
return "Welcome to my blueprint"
3.在应用对象上注册这个蓝图对象
app.register_blueprint(blue,url_prefix="/blue")
141.Flask 和 Django 路由映射的区别?
在 django 中,路由是浏览器访问服务器时,先访问的项目中的 url,再由项目
中的 url找到应用中 url,这些 url是放在一个列表里,遵从从前往后匹配的规
则。在 flask中,路由是通过装饰器给每个视图函数提供的,而且根据请求方式
的不同可以一个 url用于不同的作用。
Django
142.什么是 wsgi,uwsgi,uWSGI?
WSGI:
web 服务器网关接口,是一套协议。用于接收用户请求并将请求进行初次封
装,然后将请求交给 web 框架。
实现 wsgi 协议的模块:wsgiref,本质上就是编写一 socket 服务端,用于接收用
户请求(django)
werkzeug,本质上就是编写一个 socket 服务端,用于接收用户请求(flask)
uwsgi:
与 WSGI 一样是一种通信协议,它是 uWSGI 服务器的独占协议,用于定义传
输信息的类型。 uWSGI:
是一个 web 服务器,实现了 WSGI 的协议,uWSGI 协议,http协议
143.Django、Flask、Tornado 的对比?
1、 Django 走的大而全的方向,开发效率高。它的 MTV 框架,自带的
ORM,admin 后台管理,自带的 sqlite数据库和开发测试用的服务器,给开发者
提高了超高的开发效率。 重量级 web 框架,功能齐全,提供一站式解决的思
路,能让开发者不用在选择上花费大量时间。
自带 ORM 和模板引擎,支持 jinja等非官方模板引擎。
自带 ORM 使 Django 和关系型数据库耦合度高,如果要使用非关系型数据库,
需要使用第三方库
自带数据库管理 app
成熟,稳定,开发效率高,相对于 Flask,Django 的整体封闭性比较好,适合
做企业级网站的开发。python web 框架的先驱,第三方库丰富
2、 Flask 是轻量级的框架,自由,灵活,可扩展性强,核心基于 Werkzeug
WSGI 工具 和 jinja2模板引擎
适用于做小网站以及 web 服务的 API,开发大型网站无压力,但架构需要自己设
计
与关系型数据库的结合不弱于 Django ,而与非关系型数据库的结合远远优于
Django
3、 Tornado 走的是少而精的方向,性能优越,它最出名的异步非阻塞的设计
方式
Tornado 的两大核心模块:
iostraem:对非阻塞的 socket 进行简单的封装
ioloop:对 I/O 多路复用的封装,它实现一个单例
144.CORS 和 CSRF 的区别?
什么是 CORS ?
CORS 是一个 W3C 标准,全称是“跨域资源共享"(Cross-origin resoure sharing).
它允许浏览器向跨源服务器,发出 XMLHttpRequest 请求,从而客服了 AJAX
只能同源使用的限制。
什么是 CSRF ?
CSRF 主流防御方式是在后端生成表单的时候生成一串随机 token,内置到表单
里成为一个字段,同时,将此串 token 置入 session 中。每次表单提交到后端
时都会检查这两个值是否一致,以此来判断此次表单提交是否是可信的,提交
过一次之后,如果这个页面没有生成 CSRF token, 那么 token 将会被清空,如果
有新的需求,那么 token 会被更新。 攻击者可以伪造 POST 表单提交,但是
他没有后端生成的内置于表单的 token,session 中没有 token 都无济于事。
145.Session,Cookie,JWT 的理解
为什么要使用会话管理
众所周知,HTTP 协议是一个无状态的协议,也就是说每个请求都是一个独立
的请求,请求与请求之间并无关系。但在实际的应用场景,这种方式并不能满
足我们的需求。举个大家都喜欢用的例子,把商品加入购物车,单独考虑这个
请求,服务端并不知道这个商品是谁的,应该加入谁的购物车?因此这个请求
的上下文环境实际上应该包含用户的相关信息,在每次用户发出请求时把这一
剩余13页未读,继续阅读
资源评论
不吃鸳鸯锅
- 粉丝: 8303
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功