Flask--小示例

视图部分

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

app = Flask(__name__) # 一个Flask类的对象
app.secret_key = 'u2jksidjflsduwerjl'
app.debug = True
USER_DICT = {
    '1': {'name':'dd','age':18},
    '2': {'name':'ee','age':48},
    '3': {'name':'ggg','age':38},
}

#登陆
@app.route('/login',methods=['GET',"POST"])
def login():
    if request.method == 'GET':
        return render_template('login.html')
    user = request.form.get('user') # 获取POST传过来的值
    pwd = request.form.get('pwd') # 获取POST传过来的值
    if user == 'safly' and pwd == '123':
        # 用户信息放入session
        session['user_info'] = user
        return redirect('/index')
    else:
        return render_template('login.html',msg ='用户名或密码错误')
        # return render_template('login.html',**{'msg':'用户名或密码错误'})

#首页
@app.route('/index',endpoint='n1')
def index():
    user_info = session.get('user_info')
    if not user_info:
        return redirect('/login')

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

#查看详情
@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)


#注销-删除session
@app.route('/logout')
def logout():
    del session['user_info']
    return redirect('/login')


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

login.html

<body>
    <h1>登录</h1>
    <form method="post">
        <input type="text" name="user">
        <input type="password" name="pwd">
        <input type="submit" value="提交"> {{msg}}
    </form>
</body>

index.html

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

detail.html

<body>
    <h1>详细信息</h1>
    <div>{{info.name}}</div>
    <div>{{info.age}}</div>
</body>

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值