Flask介绍

  • fask概念
    flask是一个web框架,属于微框架,框架很轻量,更新依赖小,专注于安全bug。依赖于werkzeug,一个wsgi工具包(web server gateway interface),为python语言定义的web服务器和web应用程序或框架之间的一种简单而通用的接口,其他语言也有类似的接口,jinjia2模板引擎
  • flask与Django区别
    flask是一个轻量级框架,依赖jinjia2和WSGI工具,适用于做小型网站以及web服务的api,开发大型网站无压力,架构自己设计,与关系型数据库结合不弱于Django,非关系型数据库结合远优于Django
    Django重量型web框架,功能齐全,自带ORM(object relational mapping)和模板引擎,支持jinja等非官方模板引擎,自带orm使得和关系型数据库耦合较高,非关系型数据库需要第三方支持,封闭性更好,适合做企业级网站开发
  • ORM实现原理
    对象关系映射是一种程序技术,用于实现面向对象编程语言里不同类型的数据之间的转换
    在程序中,存在着对象和关系数据库,在业务逻辑界面中,是面向对象的,当对象信息发生变化时,把对象信息保存在关系数据库中,如果不使用Orm,会写很多的数据访问层的代码,用来数据库的增删改查,ORM解决的问题就是对象关系的映射,域模型和关系模型,域模型是面向对象的,关系模型面向关系,一个持久化类和一个表对应,类的每个实例对应表中的一个记录,类的每个属性对应表的每个字段
    特点:提高了开发效率,由于ORM可以自动对entity对象与数据库找那个table进字段与属性的映射,所以实际可能不需要一个专用的庞大的数据访问层
    提供了对数据库的映射,不用sql直接编码,能够像操作对象一样获取数据库中的数据
  • flask-WTF
    用于表单处理,校验并提供csrf验证的功能扩展库,使得表单免受CSRF跨站请求伪造的攻击
  • 在Flask中访问会话
    会话(session)存储在服务器上,是客户端登录到服务器并注销的时间间隔,需要将会话中进行的数据存储在服务器的临时目录上
    from flask import session导入会话变量 session[name] = 'admin'
    session.pop('username', None) 删除会话变量
    默认的session利用了WerkZerg中的secureCookie,把信息序列化(pickle)后编码(base64),放到cookie里,过期时间通过cookie的过期时间实现,为了防止cookie被篡改,session会自动打上session的hash串,经过session内容,secret_key计算而出,保证了cookie内容不被篡改
  • Flask中的MVC
    当浏览器发起请求,访问到app中的路由,由控制器通过render_template将对应模板中的变量进行替换,之后在页面上展示出来
  • 数据库连接
    可以使用第三方库来连接,pymongo,也可以使用ORM来进行数据库连接,以面向对象的方式来进行数据库连接与操作
  • http状态码
    404 请求的url地址不存在
    503 访问限制有权限
    200 成功
    302 重定向
  • http常见请求头
    User-Agent 浏览器类型
    Cookie:最重要的请求头信息
    Content-Type:请求类型
  • WSGI介绍
    web服务器网关接口,是python语言中定义的web服务器与web应用程序之间或框架之间的通用接口标准,像一座桥梁,一端是服务端或网关端,另一端是应用端或框架端,WSGI的作用是在写意之间进行转化,将组件分成了三大类,web服务器,web中间件,web应用程序,web server接受HTTP请求,封装一系列环境变量,按照WSGI接口标准调用注册的WSGI 应用,最后将响应返回给客户端
  • 依赖组件
    Route 路由
    template 模板
    Models orm模型
    blueprint 蓝图
    jiaja2模板引擎
  • 蓝图的作用
    Blueprint实现模块化应用
    blue_bp = Blueprint('book', name) 创建蓝图对象
    蓝图中使用路由@book_bp.route('url')
    再另一py文件导入注册蓝图 from book import book_bp app.register_blueprint(book_bp)
    将不同功能模块化,构建大型应用,优化项目结构,增加可读性,易于维护

你可能感兴趣的:(Flask介绍)