Flask学习笔记之模板(一)

3629157-3f65ceeaf97c8cc6.png

大纲

之前的视图函数返回的都是字符串,这样是很不利于网站建设,大家都知道,我们都网页构造三大元素(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)

3629157-39a373aa3cf2d167.jpg

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

变量

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

<!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='罗罗攀')
3629157-faca9cd0d67f964c.jpg

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

{% 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>
3629157-4ab02d3b0e6aa522.jpg

我们加上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>
3629157-59cc0bfcc9bab6bf.jpg
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值