flask---》url_for 模板语法 内置过滤器 url_map

url_for 

后端

无参数

endpoint起一个别名,如果不写默认是函数名称

视图

@app.route('/', endpoint='index')
def index():
    return render_template('index.html')

解析

@app.route('/test')
def test():
    url = url_for('index')  # 路径反向解析
    print(url)  # /
    return 'test'

有参数

多个参数往后传就行

@app.route('/test')
def test():
    url = url_for('index',args=(1,))  # 路径反向解析
    print(url)  # /
    return 'test'

前端

解析文件

路径是从static开始的

一定要加filename,如果是动态解析文件的话

<img alt="" src="{{ url_for('static', filename='user/img/user_icon_copy.png') }}">

 解析路由

多个参数直接往后添加即可

如果是蓝图,需要加上蓝图的名称

<a class="btn bg-olive btn-xs" href="{{ url_for('admin.edit_robot_firmware',id=ros.id) }}">编辑

模板语法

语法

模板:(网页)
模板的语法:
1. 在模板中获取view中传递的变量值:{{ 变量名key }}

render_template('模板名字',key=value,key=value)

    name = '沈凯'  # str
    age = 18  # int
    friends = ['建义', '陈璟', '小岳岳', '郭麒麟']  # list
    dict1 = {'gift': '大手镯', 'gift1': '鲜花', 'gift2': '费列罗'}  # dict
    # 创建对象
    girlfriend = Girl('美美', '安徽阜阳')  # 自定义的类构建的类型:Girl对象


控制块

2.  控制快:
 {% if  条件 %}

 {% endif %}

 {% if  条件 %}
     条件为True
 {% else %}
     条件为False
 {% endif %}


 {% for 变量 in 可迭代的对象 %}
    for循环要做的任务

 {% endfor %}

可以使用loop变量
loop.index  序号从1开始
loop.index0  序号从0开始

loop.revindex  reverse  序号是倒着的
loop.revindex0

loop.first 布尔类型   是否是第一行
loop.last  布尔类型   是否是第二行

过滤器

字符串操作

3。过滤器
过滤器的本质就是函数
模板语法中过滤器:
{{ 变量名 | 过滤器(*args) }}

{{ 变量名 | 过滤器 }}

常见的过滤器:
1。 safe : 禁用转译
msg = '<h1>520快乐!</h1>'
return render_template('show_2.html', girls=girls, users=users, msg=msg)
不想让其转译:
{{ msg | safe }}
2。 capitalize:单词的首字母大写
{{ n1 | capitalize }}
3。lower和upper
大小写的转换
4。title 一句话中每个单词的首字母大写
 msg = 'She is a beautiful girl'
 {{ msg | title}}
5。reverse  翻转
{{ n1 | reverse}}
6。format
{{ '%s is %d years old' | format('lily',18) }}
7.truncate 字符串截断

list的操作:

{# 列表过滤器的使用 #}
{{ girls | first }}<br>
{{ girls | last }}<br>
{{ girls | length }}<br>
{#{{ girls | sum }} 整型的计算 #}
{{ [1,3,5,7,9] | sum }}<br>
{{ [1,8,5,7,3] | sort }}<br>

dict:

{% for v in users.0.values() %}   ---->获取值
    <p>{{ v }}</p>
{% endfor %}

<hr>
{% for k in users.0.keys() %}   ----》获取键
    <p>{{ k }}</p>
{% endfor %}

<hr>

{% for k,v in users.0.items() %}  ---》获取键值
    <p>{{ k }}---{{ v }}</p>
{% endfor %}

url_map

查看所有的路由规则

app.url_map

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骑猪去兜风z1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值