1、get请求和post请求
(1)get请求
-
使用场景:如果只对服务器获取请求,并没有对服务器产生任何影响,那么这时候使用get请求;
-
传参:get请求传参是放在url中,通过’?'的形式来指定key和value的。
(2)post请求 -
使用场景:如果要对服务器产生影响,那么使用post请求;
-
传参:post请求传参不是放在url中的,是通过’form data’的形式发送给服务器的。
(3)get和post请求获取参数 -
get请求是通过
flask.request.args
来获取的; -
post请求是通过
flask.request.form
来获取的;
(4)post请求在模板中需要注意几点 -
input标签中,要写name来表示value的key,方便后台获取;
<td><input type="text" placeholder="请输入用户名" name="username"></td>
- 在写form表单的时候,要指定
method=post
,并且要指定action='/login'
.
<form action="{{ url_for('login' )}}" method="post">
2、保存全局变量的g属性
(1)g:gobal g对象是专门用来保存用户的数据的;
(2)g对象在一次请求中的所有代码的地方,都是可以使用的。(第二次请求,g对象就会改变)
3、钩子函数(hook)
(1)before_request
-
before_request:在请求之前执行;
-
before_request是在视图函数执行之前执行的;
-
before_request这个函数只是一个装饰器,它可以把需要设置为钩子函数的代码放在视图函数执行之前来执行。
(2)上下文处理器钩子函数(context_processor) -
上下文处理器应该返回一个字典,字典中的’key’会被当成变量来渲染;
-
上下文处理器中返回的字典,在所有的页面中都是可用的;
-
被这个装饰器装饰的钩子函数,必须要返回一个字典,即使这个字典为空也要返回。