Flask6

Posted 0和1的大世界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask6相关的知识,希望对你有一定的参考价值。

# Flask6

## 第一部分:

1 上下文管理

-  Localproxy对象

 - 存在的意义:在flask框架中,视图函数在访问request和session中的数据的时候:因为其机制是“上下文管理”,因此在访问这些数据的时候,需要通过localstack对象访问,但是每次都这样取很麻烦,这不符合框架给开发人员带来的理念,此对象存在的意义就来了,该对象依赖于一个类,类里有多种双下划线方法,就像下面写的这个类,各个方法分别内部也是调用localstack方法去帮我们取得request和session的数据,但是借助于这个代理对象,写法就符合咱的理念了,简洁又符合咱的习惯。

- class特殊方法:

 Class Foo(object):

  def __str__(self):

  return "asdf"

  def __getattr__(self,item):

  return "asdf"

  def __getitem__(self,item):

  return "asdf"

  def __add__(self,other):

  return other

 

 obj = Foo()

 - 执行语句

   print(obj)

   会执行__str__方法

 - 执行语句

   print(obj.xxx)

   会执行__getattr__方法

 - 执行语句

   print(obj["xxx"])

   会执行__getitem__方法

 - 执行语句

   print(obj + 1)

   会执行__add__方法

2 上下文管理

- 请求上下文 request/ession

 封装的是ctx对象。

- app上下文

 封装的是app_ctx对象。

3 第三方组件:wtforms

- 作用:

 和django的form一样,做表单验证的。

 - 生成html标签

 - 验证表单数据

- 使用

 - 安装wtforms

   pip3 install wtforms

 - 需要使用哪个功能,导入那个方法的路径即可

 - 自己写一个类,继承那个方法的类

   在这个类里按照wtforms的规则写一些字段就可以调用他的父类方法生成HTML标签的字符串。

- 原理

## 第二部分:数据库和前端

1  响应式布局?

- 效果?

 根据浏览器窗口大小调整属性。

- 怎么实现?

 通过 @media属性实现

2 mysql

- 引擎

 - innodb

   - 支持事务

     - 支持行锁

     - 支持表锁

 - mysaim

   - 不支持事务

     - 只支持表锁

以上是关于Flask6的主要内容,如果未能解决你的问题,请参考以下文章