为了把业务逻辑和表现逻辑分开,Flask把表现逻辑移到JinJa2模板,模板是一个包含响应文本的文件。它用占位变量表示动态部分,其具体要从请求上下文才知道。
把真实值替换掉占位变量成为渲染,JinJa2模板的创造者也是Flask的创造者,所以不需要额外安装包。
在程序的同一级目录下建立templates目录,在该目录下建立user.html
JinJia2可以识别所有类型变量,如:
Jinja2还提供了过滤器用于修改变量
宏类似于Python中的函数,可以被重复使用
在模板中导入这个宏文件
navbar和content分别表示导航条和主体内容
url_for会找到视图函数对应的URL。
一、简单的Flask框架
2)最简单的使用flask框架
二、Flask框架的组成部分
所有的路由系统都是基于一下对应关系来处理:
模板中使用:包含了字符串,列表,字典,以及函数的传值调用
三、http请求的响应,返回用户的数据。即return的内容
5)使用make_response可以对相应的内容进行操作
除请求对象之外,还有一个 session 对象。它允许你在不同请求间存储特定用户的信息。它是在 Cookies 的基础上实现的,
并且对 Cookies 进行密钥签名要使用会话,你需要设置一个密钥。
2)message是一个基于Session实现的用于保存数据的集合,flash方法。其特点是:使用一次就删除
注意:URL中所有字符都是ASCII字符集,如果出现非ASCII字符,比如中文,浏览器会进行编码再进行传输。
负责处理http请求,响应静态文件,常见的有Apache,Nginx以及微软的/ # 当客户端通过post方法进行访问的时候执行的函数
用类视图的一个缺陷就是比较难用装饰器来装饰,比如有时候需要做权限验证的时候,比如看以下例子:
如果要在类视图上进行装饰,只能在as_view
函数上进行装饰了,使用方式如下:
但是一个好消息是,从Flask 0.8
开始,还可以通过在类中添加decorators
属性来实现对视图的装饰: