flask框架之模板与模板传参

背景:当前主要为前后端的分离开发,框架中应用现成的HTML文件就可以实现通过python程序调用现成的HTML框架实现某些网页的显示。延伸是实现python程序与HTML的数据交互。

第一部分 flask之调用模板:

HTML文件显示:
前文有关于HTML的介绍,
在该例子中,HTML文件应该放置在项目文件夹内的templates文件夹内,如templates/demo/demo.html
HTML文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
        <input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">
</body>
</html>

该代码功能为显示一个输入框
与python代码结合:

from flask import Flask,render_template

app = Flask(__name__)

@app.route('/')
def hello():
    #return 'hello world'
    return render_template('demo/demo.html')

if __name__ == '__main__':
    app.run(debug=True)

其中的render_template方法会传递一个demo.html,从而调用HTML的内容

第2部分 flask之模板传参

在第一部分的基础上,通过python程序向HTML中传递参数

  • 要传参,首先需要HTML需要有接收参数的位置
  • 然后就是从python程序中定义相应的参数并且传递进去
    HTML代码:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
        <input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">

        <h1>{{ username }}</h1>
        <h2>{{ age }}</h2>
        <h3>{{ books.python }}</h3>
        <h4>{{ book.0}}</h4>
        <h5>{{ book[0] }}</h5>

</body>
</html>

在HTML中 {{}}可以用于接收传递参数,如果没有参数传递,网页中显示的内容是这样的:
在这里插入图片描述
python代码传递参数:


from flask import Flask,render_template
app = Flask(__name__)

@app.route('/')
def hello():
    context = {
        'username':'lcy1992',
        'age':18,
        'books':{'python':666,'java':777},
        'book':['python','java','c++']
    }

    return render_template('index.html',**context)

if __name__ == '__main__':
    app.run(debug=True)

其中传递参数是通过context传递的,调用的模板是index.html,然后通过render_template将参数传递进去
此时网页显示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值