3.1 为什么要使用和如何使用模板

一. 为什么要使用模板

    视图函数有两个作用, 一个是业务逻辑一个是表现逻辑, 举例说明:
        用户在网站注册了一个新账号, 用户在表单中输入电子邮件地址和密码, 点击提交按钮, 服务器接收到包含用户输入的请求, 然后Flask把请求分发到处理注册请求的视图函数。 这个视图函数需要访问数据库, 添加新用户(业务逻辑), 然后生成相应回送浏览器(表现逻辑)。

    两个完全独立的作用被混淆到一起会使代码难以理解和维护, 所以我们选择吧表现逻辑(响应)迁移到模板当中去。


二. 如何使用模板

1.先来介绍什么是模板, 模板就是一个后缀为.html的文件, 文件内容就是视图函数的返回值
    例1: templates/index.html
                <h1>Hello World!</h1>
              默认情况下, Flask在程序文件夹里的templates文件夹里寻找模板, 在下个版本的hello.py里, 要把模板保存到templates文件夹中。

    例2:templates/user.html
                <h1>Hello, {{name}}!</h1>
              例2的文件内容包含一个使用变量表示的动态部分, 后面我们来解释它的用法


2.渲染模板
    使用真实值替换变量, 再返回最终得到的响应字符串, 这一过程称为渲染:

from flask import Flask, render_template

#...

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/user/<name>')
def user(name):
    return render_template('user.html', name=name)
    render_template函数的第一个参数是模板文件名, 第二个参数是键值对, 等号左边是模板文件中的变量名, 右边是视图函数的参数也就是值。 我的理解就是render_template函数先用参数值替换掉模板文件中的变量, 然后把模板文件中的内容读出来作为响应返回。

3. 第2点讲的是原理,实际操作我们只需要把3a版本从版本库迁到工作区即可:
        &git checkout 3a      执行后工作区的变化如下:
            
           
可以看到工作区多了一个templates文件夹, 文件夹里有两个模板文件。
之后把hello.py检查修改一下(迁出的部分代码可能省略了要检查修改一下)然后运行:
    
可以看到运行效果和之前一模一样, 但是我们的确使代码避免了混淆和难以维护, 这在复杂的视图函数中效果较明显。

            
    


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值