Python使用Flask时遇到的一些概念
本文参考Miguel Grinberg所著《Flask Web开发》
路由
处理URL和函数之间关系的程序称为路由,如
@app.route('/')
def index():
return '<h1>Hello World!</h1>'
当访问网页’/'目录时,服务器会执行index()
,这个函数的返回值称为响应
视图函数
上述的函数即是视图函数(view function)
模板
模板是一个包含响应文本的文件,其中包含用占位变量表示的动态部分,其具体值只在请求上下文中才知道
渲染
使用真实值替换变量,再返回最终得到的响应字符串,这一过程称为渲染
重定向
向重定向的URL发起GET请求
Post/重定向/Get模式
在包含表单的网页中刷新网页时,会弹出警告要求确认表单,因为刷新这样的网页时,网页会自动发送之前已经发送的最后一个请求,如果这个请求是一个包含表单数据的POST请求,浏览器会重新发起这个请求,刷新页面后会再次提交表单,这并不是理想的处理方式(我猜是因为反复地发送同样的POST)
为了避免这个问题,使用重定向作为POST请求的响应,而不是常规响应,当需要发出POST请求时,实际上是向重定向的URL发出GET请求,这样最后一个请求就是GET请求,就不会有之前的问题了
用户会话
用户会话是一种私有存储,存在于每个连接到服务器的客户端中,在请求之间”记住”数据
RIA
RIA(Rich Internet Application)富互联网应用,在RIA中,服务器的主要功能(有时是唯一功能)是为客户端提供数据存储服务,在这种模式中,服务器变成了Web服务或应用编程接口