• 技术文章 >Python框架 >Flask

    flask什么是模板

    silencementsilencement2019-08-17 13:22:29原创5397

    模板-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可以做大型网站吗 下一篇:flask怎么安装

    相关文章推荐

    • flask怎么设置路由• flask项目怎么创建

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网