Flask - 用户管理系统示例 (二)

该博客介绍了如何在Flask中创建全局变量存储用户信息,并将其传递到前端展示。通过@app.route装饰器定义路由,将USER_DICT字典作为参数传入模板。在前端使用模板引擎遍历字典,展示用户列表并添加查看详情的链接。同时,通过request.args.get获取GET请求的参数,实现在详情页面显示用户详细信息。设置app.debug=True能实现保存即自动重启应用。
摘要由CSDN通过智能技术生成

显示用户信息

创建一个全局变量, 存储用户信息

USER_DICT = {
    '1': {'name': '张三', 'age': 18},
    '2': {'name': '李四', 'age': 11},
    '3': {'name': '王五', 'age': 12},
}

把全局变量作为参数传递到前台

@app.route('/index')
def index():
    user_info = session.get('user_info')
    if not user_info:
        return redirect('/login')

    return render_template('/index.html', user_dict=USER_DICT)

前台获取用户信息

  • 传递的是整个字典, 获取用户的名字需要遍历
  • 和python里面遍历字典相似
....
<body>
    <ul>
        {% for k,v in user_dict.items() %}
        <li>
            {{ v.name }}
        </li>
        {% endfor %}
    </ul>
</body>

添加app.debug=True, 保存后就会自动重启

添加查看详情页面

index.html

<body>
    <ul>
        {% for k,v in user_dict.items() %}
	        <li>
	            {{ v.name }} <a href="/detail?uid={{k}}" >查看详细</a>
	        </li>
        {% endfor %}
    </ul>
</body>

获取get传递的参数

  • 使用 uid = request.args.get('uid')
@app.route('/detail')
def detail():
    user_info = session.get('user_info')
    if not user_info:
        return redirect('/login')

    uid = request.args.get('uid')
    info = USER_DICT.get(uid)

    return render_template('/detail.html', info=info)

detail.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户详情</title>
</head>
<body>
    <h1>详细信息</h1>
    <div>{{info.name}}</div>
    <div>{{info.age}}</div>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值