首页 > 其他分享 >两天学会flask(六)---模板-if语句(3)(20分钟)

两天学会flask(六)---模板-if语句(3)(20分钟)

时间:2023-04-23 10:46:10浏览次数:38  
标签:语句 浏览器 name flask app --- 20 模板

flask模板---if语句

jinja2在模板里支持if条件语句,这意味着你可以更加灵活的控制页面的显示,同正常python代码一样,它支持elif和else。

对上一篇的实例做一些简单的修改,新建一个if.html文件,内容为:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p>{% if name=='admin' %}
    <p>欢迎来到前台管理界面,{{name}},你是前台管理员</p>
{% elif name=='liang' %}
<p>欢迎来到后台管理界面,{{name}},你是后台管理员</p>
    {% else %}
    <p>欢迎你 {{ name }}</p>
    {% endif %}</p>
</body>
</html>

app.py文件:

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/name/<string:name>',methods=['GET'])
def welcome(name):
    return render_template('name.html', name=name)

app.run(debug=True)

在浏览器中输入 http://127.0.0.1:5000/name/admin,浏览器界面显示:

 在浏览器中输入 http://127.0.0.1:5000/name/liang,浏览器界面显示:

 在浏览器中输入 http://127.0.0.1:5000/name/ceshi,浏览器界面显示:

关于条件语句语法

如果只是有一个值需要动态替换,那么你需要使用 {{ ... }}
这种语法,但如果你希望对程序更精细的控制,需要用到条件语句,for循环,则必须使用{% ... %}

使用if条件语句语句时,下面三个语句块一个都不能少

{% if name=='管理员' %}
    do something
{% else %}
    do something
{% endif %}

尤其是最后的{% endif %},很容易被遗忘

如果两个条件分支无法满足业务需求,你也可以使用 {% elif %} 增加逻辑判断

标签:语句,浏览器,name,flask,app,---,20,模板
From: https://www.cnblogs.com/joyware/p/17345785.html

相关文章

  • Docker_存储卷-挂载
    Docker存储卷volumeDocker-managedvolume(docker管理卷)Bindmountvolume(绑定挂载卷)挂载Docker提供了3种方法将数据从Docker宿主机挂载(mount)到容器:volumes,Volumes由Docker管理,存储在宿主机的某个地方(在linux上是/var/lib/docker/volumes/ 受控存储bi......
  • rabbitmq消费者--消息订阅时的权衡
    消息的获得方式pull拉取属于一种轮询模型,发送一次get请求,获得一个消息。如果此时RabbitMQ中没有消息,会获得一个表示空的回复。总的来说,这种方式性能比较差,很明显,每获得一条消息,都要和RabbitMQ进行网络通信发出请求。而且对RabbitMQ来说,RabbitMQ无法进行任何优化,因为它永远不知道应......
  • UM2080F32 基于 ARM Cortex-M0+内核的超低功 耗、高性能的、单片集成 (G)FSK/OOK 无线
    UM2080F32基于ARMCortex-M0+内核的超低功耗、高性能的、单片集成(G)FSK/OOK无线收发机的32位SoC芯片。UM2080F32工作于200MHz~960MHz范围内,支持灵活可设的数据包格式,支持自动应答和自动重发功能,支持跳频操作,支持FEC功能,同时内部集成了完整的射频接收机、射频发射机......
  • ArrayList的遍历方式与fail-fast
    遍历方式普通for循环遍历for(inti=0;i<arrayList.size();i++){System.out.println(arrayList.get(i));}推荐使用普通for循环,效率最高。Iterator迭代Iterator<Integer>iterator=arrayList.iterator();while(iterator.hasNext()){System.out.println(itera......
  • 2023.3.2 jQuery 事件操作
    jQuery事件操作js中的$(function(){});和原生js中的window.onload=function(){}的区别?他们分别是在什么时候触发?jQuery的页面加载完成之后是浏览器的内核解析完页面的标签创建好DOM对象之后就会马上执行。原生js的页面加载完成之后,除了要等浏览器内核解......
  • ant design of vue的a-rang-picker时间控制既不能选今天以后的日期且开始时间跟结束时
    在项目中这个问题在困扰我,虽然我知道它是有一个Api是disableDate来控制时间的选择;但是只能够实现开始时间跟结束时间之间差不能超过3天。效果图接下来就是代码时间呀<a-col><a-form-model-itemlabel="任务时间范围"prop="priceRangeDate"><a-range-picker......
  • 学习-13
    1.回顾1.nginx--反向代理负载均衡动静分离2.搭建nginx高可用集群---keepalived2.正文--redis[重点]1.什么是NOSQL2.NOSQL和RDBMS的区别3.NOSQL的产品4.介绍Redis5.安装Redis6.redis支持的数据类型3.什么是NOSQLNOSQL(notonlysql)不仅是sql,它是所有非......
  • vue3 keep-alive实现tab页面缓存
    先上图 如何在我们切换tab标签的时候,缓存标签最后操作的内容,简单来说就是每个标签页中设置的比如搜索条件及结果、分页、新增、编辑等数据在切换回来的时候还能保持原样。看看keep-alive是如何实现该功能的。首先我们要了解keep-alive的基本使用。具体介绍请查看官方文档(htt......
  • 【HMS Core】视频编辑服务报错method not allowed 20124、Parameter error. Error: ap
    【关键字】视频编辑服务、报错 【问题背景】问题1:集成视频剪辑服务,在原子能力SDK的素材管理时,提示Parametererror.Error:appIdisinvalid.问题2:视频编辑sdkdemo的所有功能提示methodnotallowed20124,后台已申请动态照片、一键微笑、AI着色、一键动效、一键染发的功能......
  • C语言函数大全-- o 开头的函数
    C语言函数大全本篇介绍C语言函数大全--o开头的函数1.obstack_init,obstack_free,obstack_alloc,obstack_blank,obstack_grow1.1函数说明函数声明函数功能voidobstack_init(structobstack*obstack_ptr);它是POSIX标准库中的一个非标准函数,用于初始化对象堆栈。对......