渲染方式

使用原生python进行渲染显得非常僵硬,使用render_template等方式就会非常灵活的显示出来。

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

@app.route('/', methods=['GET', 'POST'])
def index():
    # use http methods
    if request.method == 'POST':
        # request.form.get:获取单个参数的值
        uname = request.form.get('uname')  # 这个并不是最好的显示方式,如果key写错了,那么uname直接为None。你可以设置一个默认参数,像这样:uname = request.form.get('uname', '')
        upwd = request.form.get('upwd')
        return render_template('index.html', params={'name':uname, 'pwd':upwd})
    # 渲染模板
    return render_template('index.html')

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

HTML代码:

<!DOCTYPE html>
<html>
<head>
    <title>index</title>
</head>
<body>
<!-- 接收传递过来的参数,值得注意的是其结构(if...else...endif...)和分离方式({%%}用来做判断,{{}}用来显示单个值) -->
{% if params %}
    <p><b>{{ params["name"] }}</b><span>{{ params["pwd"] }}</span></p>
{% else %}
    <form action="" method="post">
        username:<input type="text" name="uname"><br>
        password:<input type="password" name="upwd"><br>
        <input type="submit" value="sub">
    </form>
{% endif %}
</body>
</html>
原文地址:https://www.cnblogs.com/namejr/p/10302893.html