flask什么是模板[Flask框架]

python

模板-Templates

什么是模板

模板是一个包含响应文本的文件(通常是html文件),该文件中允许包含"占位变量"来表示动态的内容,其具体值在请求中才能知道。"占位变量"最终会被真实的值所替换。模板最终也会被解析成响应的字符串,这一过程称为"渲染"。Flask实际上是使用 Jinja2 强大的模板引擎。

模板的设置

默认情况下,Flask会在程序文件夹中的 templates 子文件夹中寻找模板,需要手动创建 templates 文件夹。

渲染模板

在 视图函数中,通过return render_template()将模板渲染成字符串再响应给客户端

render_template('xxx.html',arg1 = value1,arg2 = value2)

# 参数1:xxx.html,要渲染给客户端的html模板文件

# 参数2 ~ n:要传递给模板动态显示的变量占位符,如果没有动态的变量占位符,则可以省略

# 返回值:字符串

模板语法

变量

变量时一种特殊的占位符,告诉模板引擎该位置的值是从渲染模板时的数据中来获取的。变量类型可以是python中的任意数据类型。

在视图中

@app.route('/')

def index():

    return render_template('xxx.html',name='sf.zh',age=18)

# name和age就是要传递到xxx.html中的变量

在模板中

{{变量名}}

{{params.变量名}}

变量的传递方式

直接传递

# 方式一,直接传递

@app.route('/temp')

def temp():

    res = render_template('temp.html',

                          title = '关于本书',

                          bookName = '《钢铁是咋练成的》',

                          bookAuthor = '奥斯特洛夫斯基',

                          bookPrice = '32.5',

                          bookPlace = '北京大学出版社')

    return res

将变量封装为字典

@app.route('/temp')

def temp():

    bookInfo = {

        'title':'关于本书',

        'bookName':'《钢铁是咋练成的》',

        'booAuthor':'奥斯特洛夫斯基',

        'bookPrice':32.5,

        'bookPlace':'北京大学出版社'

    }

    res = render_template('temp.html',params = bookInfo)

    return res

以上是 flask什么是模板[Flask框架] 的全部内容, 来源链接: utcz.com/z/520798.html

回到顶部