Flask学习笔记(二)

(一)web服务器框架

 

(二)flask是轻量级的web框架

(1)变量代码块:

①注释:{# #}
#默认只支持GET,其他的需要指定
@app.route('/',methods=['GET','POST'])
def index():
#比如需要传入网址
url_str = 'www.baidu.com'
my_list = [1,3,5,7,9]
my_dict = {
'name':'1111',
'url':'www.baidu.com'
}
#通常模板中使用的变量名和要传的变量名一致
#模板引擎
return render_template('index.html',url_str=url_str,my_list=my_list,my_dict=my_dict)
 ③

  {# 变量代码块: #}

{{ url_str }}<br>
{{ my_list.2 }}<br>
{{ my_dict['url'] }}<br>

(2)控制代码块:

 

{% %}先输入关键字按Tab补全格式

 

(3)过滤器

变量和过滤器

JinJia2可以识别所有类型变量,如:

{{ MyList[1] }}

{{ MyObj.test() }}

Jinja2还提供了过滤器用于修改变量

用法:

变量名|过滤器{{ name|uppr }}
PS:过滤器支持链式调用


(4)WEB表单
request:请求对象-->获取请求方式、数据
获取请求的参数:
request.form.get(对应的name)
(5)flash动态数据传递(需要对数据加密scret_key)
html通过
get_flashed_messages()获取数据
(6)使用WTF实现表单

 

 

python部分:

class LoginFrom(FlaskForm):
testdata = StringField ('测试数据')
submit = SubmitField('提交')

@app.route('/form',methods=['GET','POST'])
def login():
login_form = LoginFrom()
return render_template( 'index.html',form=login_form )

html部分:

<form method="post">
{{ form.testdata.label }}{{ form.testdata }}
{{ form.submit}}
</form>

 

validate_on_submit()可以一次验证,html需加上:form.csrf_token()

 

 


参考:https://www.cnblogs.com/zydev/p/8911682.html

jinja2手册http://docs.jinkan.org/docs/jinja2/templates.html#builtin-filters


posted @ 2020-03-25 23:29  -XZY  阅读(121)  评论(0编辑  收藏  举报