Flask之快速入门


Flask之快速入门

一、初识Flask

1、安装Flask

(flask_study) C:\Users\Administrator>pip install flask

2、简单实例

from flask import Flask

#实例化Flask对象
app = Flask(__name__)

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

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

这样简单的几行代码就可以进行运行,默认启动的端口时5000端口。

二、快速入门

现在可以通过一个简单的登录实例来进行学习了解一下。

from flask import Flask, request, render_template, redirect

app = Flask(__name__)

user_data = {
    1: {'name': '张三', 'age': 23, 'gender': '男'},
    2: {'name': '李四', 'age': 18, 'gender': '男'},
    3: {'name': '王五', 'age': 35, 'gender': '女'},
}


@app.route('/index')
def index():
    return render_template('index.html', user=user_data)


@app.route('/login', methods=['GET', 'POST'], endpoint='login')
def login():
    if request.method == 'GET':
        return render_template('login.html')
    else:
        user = request.form.get("user")
        pwd = request.form.get("pwd")
        if user == "root" and pwd == "123":
            return redirect('/index')
        return render_template('login.html')


if __name__ == '__main__':
    app.run(debug=True, host="0.0.0.0", port=80)

上面在这个.py文件下新建一个templates文件夹,然后再里面新建一个login.html、index.html这样才能找到这个文件。因为在Flask这个类中默认模板的路径就是在同级的templates文件夹下找模板文件。

login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form method="post">
    <input type="text" name="user" value="用户名"/>
    <input type="text" name="pwd" value="密码"/>
    <input type="submit" value="登录">
</form>

</body>
</html>

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    {% for k,v in user.items() %}
        <li>{{ v.name }}-{{ v.age }}-{{ v.gender }}</li>
    {% endfor %}
</body>
</html>