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

两天学会flask(六)---模板(2)(20分钟)

时间:2023-04-23 09:57:11浏览次数:44  
标签:__ 20 name flask --- html 模板 页面

jinja2是一个被广泛使用的模板引擎,其设计思想源自于django模板引擎,jinja2扩展了语法,增加了强大的功能,被flask选为内置的模板语言。

你应该已经知道,当视图函数返回一个html文件时,需要使用render_template函数,可你想过没有,你编写的html文件里的内容,有很多是有变化的。比如一个网站,你登录以后,网站的页面上要显示你的用户名,但这个页面用的是同一个html,它是怎样做到不同的人登录后看到不同的名字呢?

这正是模板引擎要解决的问题,在编写html时,那些需要变化的地方需要使用模板引擎的表达式来编写,比如名字需要变化,那么在编写html时,你应该这样编写

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p>欢迎你 </p>
</body>
</html>

看见没,名字的部分用两个大括号围起来,{{ ... }} 的部分是动态变化的,使用render_template渲染模板时,传递name这个参数就可以动态设置这个部分

from flask import Flask, render_template

app = Flask(__name__)

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

if __name__ == '__main__':
    app.run(debug=True)

启动服务,在浏览器里输入 http://127.0.0.1:5000/name/小明

那么页面上显示的内容就是

欢迎你 小明

如果你把小明修改成小刚,页面也随之发生变化,这就是模板引擎所做的工作。

模板有助于页面展现和业务逻辑之间的分离,在flask中,模板(html文件)被放置在程序的templates这个默认文件夹下,本示例的目录结构如下

./
├── app.py
└── templates
    └── name.html

 

标签:__,20,name,flask,---,html,模板,页面
From: https://www.cnblogs.com/joyware/p/17345554.html

相关文章

  • 西门子上位机通信项目-开篇
    开篇这里系统整理一个西门子上位机项目,这个计划已经酝酿很久,也在B站上看了很多上位机的视频。我想自己总结一套上位机的开发方案,方便自己后期查阅,也希望能帮助到同样在做上位机编程的工控人。我的计划是在博客园先整理一下开发方案,成熟后在B站也以视频的方式供同行学习。 在......
  • 学习-10
    1.正文1.linux-centos7的目录结构【了解】2.linux中常用的命令[重点]3.linux中安装常用的软件【重点】2.linux-centos7的目录结构/:centos7的根目录bin:脚本目录--包含很多linux命令sbin:命令目录--包含linux的命令etc:配置目录--可以配置很多参数--IP地址,环......
  • 【力扣-TS解题】1、回文数
    给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121是回文,而123不是来源:力扣(LeetCode)转为字符串把数字转为字符串反转整个字符串对比两个字符串functionisPalindrome(x:number):b......
  • 2023年4月22日周六
    计划图书馆11点06分主要是考研的英语单词,背诵数学做题和积分部分计网因为偏阅读,多读几章完成初稿最后一部分回顾这一周甚至更前的博客学习记录执行11点10分  英语单词,背诵16点30分  开始看计网不久,打起精神19点02分  吃饭......
  • 两天学会flask(五)---模板(20分钟)
    flask框架并没有实现自己的模板,而是使用Jinja2模板引擎,通过render_template函数返回一个html文件,这些html文件默认存储在项目根目录下的tempates文件夹中,这个目录是可以自定义的,创建Flask对象时,通过template_folder来设置。fromflaskimportFlask,render_templateapp=Fla......
  • Vicuna-13B, an open-source chatbot trained by fine-tuning LLaMA
    一、项目背景WeintroduceVicuna-13B,anopen-sourcechatbottrainedbyfine-tuningLLaMAonuser-sharedconversationscollectedfromShareGPT.PreliminaryevaluationusingGPT-4asajudgeshowsVicuna-13Bachievesmorethan90%* qualityofOpenAIChatGPT......
  • Solution Set - “卷起击碎定论的漩涡”
    目录0.「CF1788F」XOR,Tree,andQueries1.「CF1815F」OHNO1(-2-3-4)2.「CF1787F」InverseTransformation3.「CF1797F」LiHuaandPath4.「CF1815B」SumGraph5.「AGC022C」RemainderGame6.「CTT2021」「洛谷P8986」基因编辑7.「CTT2021」「洛谷P8985」魔塔OL⭐......
  • 2023/4/22
    交换两个整数次序 #include<iostream>usingnamespacestd;voidswap(int&a,int&b){intt=a;a=b;b=t; }intmain(){intx=5,y=10;cout<<"x="<<x<<"y="<<y<<endl;swap(x,y);cout<<"x="<<......
  • 2023GPLT团体程序设计天梯赛 记录
    排名个人全国排名: 4391(共1w7)个人全校排名: 第3名个人21级排名: 第2名(第一名是ztm哥,顶级混分手,狂砍181分)队伍排名:河南省 第23,银牌,话说为啥去年我会写第九(分数得分:161题目情况:L1-01L1-02L1-03L1-04L1-05L1-06L1-07L1-08L2-01L2-02......
  • python3-hex
    hex函数,参数可以是一个int整数或一个bytes类型元素,转为0x的十六进制字符串形式withopen(file='J:/新建文本文档.txt',mode='rb')asf:s=f.read()print(type(s),s)result=''foriins:result+=hex(i)print(result)<class'......