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的主要内容,如果未能解决你的问题,请参考以下文章