显示用户信息
创建一个全局变量, 存储用户信息
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>