1、路由
@app.route(’/’)
def test():
pass
变量规则:
str int float path uuid
uid = uuid.uuid4()
格式
2、视图函数:
返回值:
类型: 字符串,dict,tuple,response,WSGI
response对象 响应对象
response('字符串',headers={key:value})
response = make_response('.....')
response.headers['aaa'] = 'abc'
request对象
from flask import request
request.path
request.full_path
...
重点:
request.args --->get请求
request.form --->post请求
response响应:
1、str 自动转换成response对象
2、dict json
3、response对象 response对象
4、make_response() response对象
5、redirect() 重定向 302状态码
6、render_template() 模板渲染+模板
模板:(网页)
模板的语法:
1、在模板中获取view中传递的变量值{{变量名key}}
render_template(’***.html’, ‘key’ = value, ‘key’=value)
name = '沈腾' # str
age = 18 int
friends = ['家的','电话方便','得分'] # list
dict1 = {'gift':'大手笔','gift1':'鲜花','gift2':'费列罗'} # dict
模板:
{{list.0}} 同 {{list[0]}}
{{dict.key}} 同 {{dict.get(key)}}
{{girl.name}} 同 {{对象.属性}}
控制块:
{% if 条件 %}
{% else %}
{% endif %}
{% for %}
{% endfor %}
可以使用loop变量
loop.index 序号从1开始
loop.index0 序号从0开始
loop.revindex reverse index 的意思反转的序号
loop.revindex reverse index 的意思反转的序号最后为0
loop.first 返回的是布尔类型
loop.next 返回的是布尔类型
loop.index==* 选择的是第几行
3、过滤器
过滤器的本质就是函数
模板语法过滤器
{{ 变量名|过滤器(*args) }}
①、常见的过滤器有:
1、safe : 进行转义
msg= ’
520快乐!
’return render_template(“show2.html”, girls=girls,users=users, msg=msg)
如果不想然其转义:
{{ msg|safe}}
2、capitalize 首字母大写
{{ (你想输入的单词)|capitalize}}
3、lower 和 upper
大小写的变化{{ (你想输入的单词|lower或upper)}}
4、title 一句话中的每个单词的首字母大写
{{ ***|title}}
5、reverse 翻转
把单词反转 {{ 单词|reverse}}
6、format()
{{’%s is %d years old’| format(‘lily’,20)}} 匹配判断
7、truncate() 截断
{{‘hello world’|truncate(5)|upper}}
②、list的过滤器的使用:
{{ girls|first }}<br>
{{ girls|last }}<br>
{{ girls|length }}<br>
{{[1,2,3,4,5]|sum}}<br>
{{[5,4,2,1,6,7]|sort}}<br>
③、dict:
{% for user in users.0.values() %}
<p>{{ user }}</p>
{% endfor %}
{% for k,v in users.0.items() %}
<p>{{ k }}--->{{ v }}</p>
{% endfor %}