Flask学习笔记之模板(一)

大纲

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

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

基本使用

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




    
    罗罗攀


    

Hello

这个是模板基本使用

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

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)

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

变量

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




    
    罗罗攀


    

Hello {{ name }}

这个是模板基本使用

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

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

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

过滤器

过滤器其实就是对变量的修改,具体的变量过滤器可以去Jinja2文档查看,这里简单介绍下safe,这个的作用为渲染是不转义。这里我们再传入一个变量,为

world

,默认情况会对h1标签转义,然后把h1当做字符串,如图。




    
    罗罗攀


    

Hello {{ name }}

{{ test }}

这个是模板基本使用

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




    
    罗罗攀


    

Hello {{ name }}

{{ test|safe }}

这个是模板基本使用

你可能感兴趣的:(Flask学习笔记之模板(一))