6-模板初步使用

news2024/11/16 5:35:21

 官网:

        中文版: 介绍-Jinja2中文文档

        英文版: Template Designer Documentation — Jinja Documentation (2.11.x)

模板语法 

1. 模板渲染

(1) app.py 准备数据

import json

from flask import Flask,render_template

import settings

app = Flask(__name__)
app.config.from_object(settings)  # 加载配置文件


class Girl:  # 自定义类
    def __init__(self, name):
        self.name = name
        self.gender = "女"

    def __str__(self):
        return self.name


@app.route("/show")
def show():
    name = "coco"  # str
    age = 18  # int
    firends = ["A", "B", "C"]  # list
    dict1 = {"gift": "包"}  # dict
    # 创建对象
    girlfriend = Girl("lili")  # 自定义的类构建的类型: Girl类型
    
    # 向模板传递数据
    return render_template("index.html", name=name, age=age, firends=firends, dict1=dict1, girl=girlfriend)




if __name__ == '__main__':
    app.run(port=8080)

(2) index.html 渲染数据

{{ name }}
{{ age }}
{{ firends.0  }}  {#{{ list.0 }} 同 {{ list[0] }}#}
{{ dict1.gift }}  {#{{ dict.key }} 同 {{dict.get(key) }}#}
{{ girl.name }}  {#{{ gril.name }} 同 {{ 对象.属性 }}#}


2. if 判断 和 for 循环 和 loop 内置变量

 

(1)app.py 准备数据

from flask import Flask,render_template

import settings

app = Flask(__name__)
app.config.from_object(settings)  # 加载配置文件

@app.route("/show")
def show():
    girls = ["AA", "BBB", "CC"]
    dict1 = [
        {"name": "张三", "pwd": "123", "addr": "beijing", "phone": "13800000001"},
        {"name": "李四", "pwd": "123", "addr": "shanghai", "phone": "13800000002"},
        {"name": "王五", "pwd": "123", "addr": "guangzhou", "phone": "13800000003"},
    ]
    return render_template("show.html", grils=girls, users=dict1)


if __name__ == '__main__':
    app.run(port=8080)

(2) show.html渲染数据

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .a {
            color: red;
        }
    </style>
</head>
<body>
 
<ul>
{#循环列表渲染数据#}
    {% for gril in grils %}
        <li>{{ gril }}</li>
    {% endfor %}
</ul>
<hr>
 
 
<ul>
{#循环列表,根据条件增加样式#}
    {% for gril in grils %}
        {% if gril|length>=3 %}
            <li class="a">{{ gril }}</li>
        {% else %}
            <li>{{ gril }}</li>
        {% endif %}
    {% endfor %}
</ul>
<hr>
 
<table border="1" cellpadding="0" cellspacing="0" width="50%">
{#    循环字典 #}
    {% for user in users %}
        <tr>
            <td>{{ user.name }}</td>
            <td>{{ user.pwd }}</td>
            <td>{{ user.addr }}</td>
            <td>{{ user.phone }}</td>
        </tr>
    {% endfor %}
</table>
 
 
<hr>
 
<table border="1" cellpadding="0" cellspacing="0" width="50%">
{#    循环字典,根据条件增加样式 #}
    {% for user in users %}
        <tr {% if loop.index==2 %}style="background-color:aqua"{% endif %}>
            <td>{{ loop.index }}</td>
            <td>{{ user.name }}</td>
            <td>{{ user.pwd }}</td>
            <td>{{ user.addr }}</td>
            <td>{{ user.phone }}</td>
        </tr>
    {% endfor %}
 
</table>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/907603.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于STM32的OLED多级菜单GUI实现(简化版智能手表)

前言&#xff1a;本文的OLED多级菜单UI为一个综合性的STM32小项目&#xff0c;使用多传感器与OLED显示屏实现智能终端的效果。项目中的多级菜单UI使用了较为常见的结构体索引法去实现功能与功能之间的来回切换&#xff0c;搭配DHT11&#xff0c;RTC&#xff0c;LED&#xff0c;…

git创建分支和合并分支

1.创建分支 git创建分支只需要使用switch 命令就行&#xff1a; git switch -c 分支名 创建分支并切换到该分支 后面括号里面的内容发生改变就是修改了分支 。 然后想要合并分支就在 创建的分支中 进行提交修改的内容&#xff0c;还是通过&#xff1a;add 命令和commit命令…

node没有自动安装npm时,如何手动安装 npm

之前写过一篇使用 nvm 管理 node 版本的文章&#xff0c;node版本管理&#xff08;Windows&#xff09; 有时候&#xff0c;我们使用 nvm 下载 node 时&#xff0c;node 没有自动下载 npm &#xff0c;此时就需要我们自己手动下载 npm 1、下载 npm下载地址&#xff1a;&…

m3u8视频怎么保存到本地?这个小妙招了解下

m3u8是一种视频文件格式&#xff0c;通常用于流媒体服务&#xff0c;可以将大型视频文件分割成较小的TS分段进行传输&#xff0c;从而使得视频的传输更加流畅和高效。。m3u8文件包含了一个视频播放列表&#xff0c;其中包含了所有的TS分段的URL地址&#xff0c;以及每个分段的时…

暑期高铁站大量遗失物品,FindMy帮助寻找

近日&#xff0c;一女子在上海坐高铁时&#xff0c;将户口本、房产证遗落安检处的新闻引起网友的关注。然后业内人士表示&#xff1a;常事&#xff0c;车站什么都能捡到。 据中国铁路透露&#xff0c;暑运期间&#xff0c;上海虹桥站客流增加&#xff0c;日均发送旅客20多万人…

四川玖璨电商:2023怎样运营短视频?

​短视频的兴起和流行让越来越多的人关注和运营短视频号。如何运营短视频号&#xff0c;吸引更多的观众和粉丝&#xff1f;下面四川玖璨电商小编将介绍几个关键点。 首先&#xff0c;确定短视频的定位和主题非常重要。根据自己的兴趣和特长&#xff0c;确定一个独特的主题&…

通过远程访问解决家人的电脑难题

家里老人使用电脑、手机等设备遇到问题&#xff0c;子女在其他城市没法现场解决&#xff0c;远程沟通很困难。有没有一种方法可以随时远程帮助家人解决电脑、手机相关问题&#xff1f; 通过远程桌面软件&#xff0c;你可以与父母一起实时解决问题。这样他们就不会一遍遍给你打…

ARM开发(LED点灯实验)

1.汇编实现开发板三盏灯点亮熄灭&#xff1b; .text .global _start _start: /**********LED123点灯**************/RCC_INIT:1使能PE10 PF10 PE8RCC..寄存器,E[4]1 F[5]1 0x50000a28ldr r0,0x50000a28ldr r1,[r0]orr r1,r1,#(0x3 << 4)str r1,[r0]LED1_INET:2初始化LED…

三分钟上手! 一文看懂 Git 的底层工作原理

目录 1. 三分钟上手! 一文看懂 Git 的底层工作原理1.1. Git 目录结构1.2. Git 三大对象1.3. Git Brach 和 Tag 1. 三分钟上手! 一文看懂 Git 的底层工作原理 1.1. Git 目录结构 Git 的本质是一个文件系统(很重要, 记住这句话, 理解这句话), 工作目录中的所有文件的历史版本以…

跟随角色镜头时,解决地图黑线/白线缝隙的三种方案

下面一共三个解决方案&#xff0c;这里我推荐第二个方案解决&#xff0c;因为够快速和简单。 现象&#xff1a; 解决方案一&#xff1a; 参考【Unity2D】去除地图中的黑线_unity选中后有线_香菇CST的博客-CSDN博客&#xff0c;博主解释是因为抗锯齿采样导致的问题。 具体到这…

机器人操作系统:ROS2 仿真入门

塞巴斯蒂安 一、说明 在机器人项目中&#xff0c;仿真是一个具有多种用途的重要方面。首先&#xff0c;您可以测试希望机器人执行的行为代码。其次&#xff0c;您可以使用仿真来测试不同类型的硬件&#xff0c;例如距离传感器、相机或 3D 点云传感器&#xff0c;看看哪种效果最…

找免费视频剪辑素材就上这6个网站

视频剪辑必备的6个免费素材网站&#xff0c;值得收藏~ 1、菜鸟图库 视频素材下载_mp4视频大全 - 菜鸟图库 菜鸟图库不仅是一个设计网站&#xff0c;它还有非常丰富的视频和音频素材&#xff0c;视频素材高清无水印&#xff0c;全部都有标签分类&#xff0c;各种类型都能找到。…

直线模组的运行注意事项

直线模组是属于高精密的传动元件&#xff0c;大家都知道&#xff0c;安装不当&#xff0c;直线模组就无法显示其高精度的优势&#xff0c;不仅如此&#xff0c;使用不当也会磨损直线模&#xff0c;针对直线模组的使用安全性事宜&#xff0c;我们切记严苛遵照有关的安全操作规程…

QuantLib学习笔记——利用quantlib绘制零息利率(zero rate)期限结构曲线

⭐️ 引言 利率&#xff0c;这个看似简单的概念&#xff0c;在金融领域有很多内涵。以这个词为基础&#xff0c;扩展出类似零息利率&#xff08;即期利率&#xff09;、远期利率等概念。本文就零息利率展开讨论&#xff0c;并绘制零息利率期限结构曲线。 ⭐️ 一些金融概念 …

TCP拥塞控制详解 | 6. 主动队列管理

网络传输问题本质上是对网络资源的共享和复用问题&#xff0c;因此拥塞控制是网络工程领域的核心问题之一&#xff0c;并且随着互联网和数据中心流量的爆炸式增长&#xff0c;相关算法和机制出现了很多创新&#xff0c;本系列是免费电子书《TCP Congestion Control: A Systems …

中小企业进销存软件哪个好?4款进销存商品管理软件推荐-亿发

在现代商业运营中&#xff0c;有效的开单记账系统是中小商户增强管理水平、优化业务流程的重要利器。市面上涌现出众多开单记账软件&#xff0c;如亿发软件、秦丝、智慧记、管家婆等&#xff0c;每款软件都有各自的优势和特点。本文帮助您了解每款软件的特点&#xff0c;为您的…

周期性函数算出其周期(python)

在日常生活中&#xff0c;总是会遇见一些周期性的函数&#xff0c;我们可以人眼看出他们是有一定规律的&#xff0c;但是我们不能准确地发现它们的周期是多少。 创建一根周期性曲线 import numpy as np import matplotlib.pyplot as plt# 定义周期性函数 def periodic_functi…

行业追踪,2023-08-21

自动复盘 2023-08-21 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…

教师爱用查分利器

易查分是一款非常实用的教学工具&#xff0c;给老师们提供了便捷的学生成绩管理和学生信息管理功能。通过易查分&#xff0c;老师们可以轻松地发布学生成绩&#xff0c;录入成绩&#xff0c;并对学生信息进行有效管理&#xff0c;从而进行提高班级管理效率。 易查分能够方便地发…