0
点赞
收藏
分享

微信扫一扫

Flask学习笔记之模板(一)

眸晓 2022-09-01 阅读 34





Flask学习笔记之模板(一)_html


大纲

之前的视图函数返回的都是字符串,这样是很不利于网站建设,大家都知道,我们都网页构造三大元素(html,css,js),那这些数据如何通过视图函数返回了?答案就是templates文件。

  • 模板基本使用
  • 变量
  • 过滤器

基本使用

这里,首先我们在templates文件夹下,创建一个html文件。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>罗罗攀</title>
</head>
<body>
<h1>Hello</h1>
<p>这个是模板基本使用</p>
</body>
</html>

然后通过视图函数进行映射:

from flask import Flask,render_template

app = Flask(__name__)


@app.route('/')
def hello_world():
return 'Hello World!'

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

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



Flask学习笔记之模板(一)_flask_02


这样我们就完成了一个渲染模板的功能。

变量

当然,我们也可以传入变量到模板中,讲上面的代码进行简单修改:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>罗罗攀</title>
</head>
<body>
<h1>Hello {{ name }}</h1>
<p>这个是模板基本使用</p>
</body>
</html>

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



Flask学习笔记之模板(一)_html_03


当然,除了基本变量外,列表,字典等数据类型都是可以传入的。我们也可以在模板中定义变量:

{% set username = 'luopan' %}  #全局变量
{% with username = 'luopan' %}
在里面用
{% endwith %}

过滤器

过滤器其实就是对变量的修改,具体的变量过滤器可以去Jinja2文档查看,这里简单介绍下safe,这个的作用为渲染是不转义。这里我们再传入一个变量,为<h1>world</h1>,默认情况会对h1标签转义,然后把h1当做字符串,如图。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>罗罗攀</title>
</head>
<body>
<h1>Hello {{ name }}</h1>
{{ test }}
<p>这个是模板基本使用</p>
</body>
</html>



Flask学习笔记之模板(一)_函数返回_04


我们加上safe过滤器,就会当做为h1标签。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>罗罗攀</title>
</head>
<body>
<h1>Hello {{ name }}</h1>
{{ test|safe }}
<p>这个是模板基本使用</p>
</body>
</html>



Flask学习笔记之模板(一)_函数返回_05


举报

相关推荐

0 条评论