
模板-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
                        神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试
 
                     
                

































