python:flask的模型思想MTV

知识点回顾:字典作为参数的调用:

data = {'title': '登录页面', 'err_msg': '出错信息提示'}

'{err_msg} {title}'.format(**data)

字典作为参数,**打开字典,分别按key提取


MVC

MTV

 

直接在视图处理函数中加return返回网页内容太繁琐,不利于视图和控制分离

因此flask架构,创建一个template目录存储模板,如bank_edit.html文件

bank_edit.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{{ title }}的页面</title>
</head>
<body>
    <h2>{{ title }}</h2>
    <form>
    <label>银行名称</label>
        <input name="name"><br>
    <label>卡号</label>
        <input name="card_num"><br>
    <button>提交</button>
    </form>
    <div class="error">
        <span>{{ err_msg }}</span>
    </div>
</body>
</html>


接下来,加载模板数据,注意字典数据使用

@app.route('/addbank', methods=['GET', 'POSt'])
def addBank():
    # 加载数据(Model交互操作)
    data = {
        'title': '绑定银行',
        'err_msg': '出错'
    }
    # 渲染模板
    html = render_template('bank_edit.html', **data)
    return html

也可以如下:注意字典数据正确使用方法

from flask import Flask
from flask import request, render_template

app = Flask(__name__)


# 一个路由要与一个函数对应
@app.route('/', methods=['GET', 'POST'])
def index():
    return '''
    <h1>首页</h1>    
    '''

#模板目录可以后添加,一般为templates,通过project structure设置模板路径
#快速换出上下文菜单ALT+ENTER
@app.route('/login', methods=['GET', 'POST'])
def login():
    data = {'title': '登录页面', 'err_msg': '出错信息提示'}
    html = render_template('flaskdemo.html', **data)
    #raise Exception('有异常!!!')
    return html


if __name__ == '__main__':
    app.run(host='0.0.0.0',
            port=18000,
            debug=True,#开启调试模式
            threaded=True,#开启多线程模式
            processes=1#4个进程,默认只有一个进程,注意:theaded、processes不能同时开
            )

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值