Flask01

1 新建虚拟环境

2 在PyCharm中创建一个New Project 用Pure Python或新建一个py文件

3 基础代码

app.py

from flask import Flask
import config

app = Flask(__name__)
app.config.from_object(config)

# flask路由是基于装饰器的
"""
装饰器执行过程:
    先执行加括号(),然后得到一个函数的内存地址
    把下面的函数名(hello)当作参数传入上面的结果函数
    得到的结果复制给函数名hello
"""


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


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

 

 config.py

DEBUG = True

 

4 实现用户登陆,显示用户信息

 config.py

app.py

from flask import Flask, render_template, request, redirect
import config

app = Flask(__name__)
app.config.from_object(config)

# flask路由是基于装饰器的
"""
装饰器执行过程:
    先执行加括号(),然后得到一个函数的内存地址
    把下面的函数名(hello)当作参数传入上面的结果函数
    得到的结果复制给函数名hello
"""

USERS = {
    1: {'name': '张三', 'age': 18, 'gender': '', 'text': '道路千万其'},
    2: {'name': '李四', 'age': 28, 'gender': '', 'text': '安全第一条'},
    3: {'name': '王五', 'age': 18, 'gender': '', 'text': '行车不规范'},
}


@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'GET':
        return render_template('login.html')
    name = request.form.get('name')
    pwd = request.form.get('pwd')
    if name == 'lqz' and pwd == '123':
        return redirect('/')
    else:
        return '用户名或密码错误'


@app.route('/')
def hello():
    return render_template('index.html', aa=USERS)


@app.route('/detail/<int:id>')
def detail(id):
    print(f'type:{type(id)}')
    return f'wo shi {id}'


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

templates目录->login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
    <h1>用户登陆</h1>
    <form method="post">
        <input type="text" name="name" >
        <br>
        <input type="text" name="pwd" >
        <br>
        <input type="submit" value="登陆">

</form>
</body>
</html>
View Code

templates目录->index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>user_msg</title>
</head>
<body>
    <h1>用户列表</h1>
    <table>
        {% for k,v in aa.items() %}
        <tr>
            <td>{{k}}</td>
            <td>{{v.name}}</td>
            <td>{{v['name']}}</td>
            <td>{{v.get('name')}}</td>
            <td><a href="/detail/{{k}}">查看详情</a></td>
        </tr>
        {% endfor %}
    </table>
</body>
</html>
View Code

 

posted @ 2024-04-04 19:01  tslam  阅读(1)  评论(0编辑  收藏  举报