reboot05

来源:互联网 发布:人工智能与经济学 编辑:程序博客网 时间:2024/05/24 00:08
---flask_web.py
|
---fileutil.py
|
---user.txt
|
---templates
        |
        +---login.html
        |
        +---list.html
        |

        +---update.html


#flask_web.pyfrom flask import Flask,request,render_template,redirect,sessionimport fileutilfileutil.read_file()app = Flask(__name__)app.secret_key = 'chrisseismic'@app.route('/')def index():    if 'username' in session:        return redirect('/list')    return render_template('login.html')# @app.route('/login',methods=['GET','POST'])# def login():    # if request.method=='GET':        # return render_template('login.html')    # elif request.method=='POST':        # user = request.form.get('user')@app.route('/logout')def logout():    session.pop('username')    return redirect('/')@app.route('/loginaction')def loginaction():    user = request.args.get('user')    pwd  = request.args.get('pwd')    error_msg = ''    if user and pwd:        if user == 'admin' and pwd == 'admin':            session['username'] = 'admin'            return redirect('/list')        else:            error_msg = 'Wrong user or password'    else:        error_msg = 'need user and pwd'    return render_template('login.html',error_msg=error_msg)@app.route('/del')def del_user():    user = request.args.get('user')    fileutil.file_dict.pop(user)    fileutil.write_file()    return redirect('/list')@app.route('/update')def update():    user = request.args.get('user')    pwd  = fileutil.file_dict.get(user)    return render_template('update.html',pwd=pwd,user=user)@app.route('/updateaction')def updateaction():    new_pwd = request.args.get('new_pwd')    user = request.args.get('user')    fileutil.file_dict[user] = new_pwd    fileutil.write_file()    return redirect('/list')@app.route('/adduser')def adduser():    user = request.args.get('user')    pwd  = request.args.get('pwd')        if user in fileutil.file_dict:        return redirect('/list')    else:        fileutil.file_dict[user] = pwd        fileutil.write_file()        return redirect('/list')@app.route('/list')def userlist():    if 'username' in session:        return render_template('list.html',userlist=fileutil.file_dict.items())    else:        return redirect('/')if __name__=='__main__':    app.run(host='0.0.0.0',port=9092,debug=True)


#fileutil.py#user:pwdfile_dict = {}# file => dictdef read_file():    with open('user.txt') as f:        for line in f.read().split('\n'):            if line:                temp = line.split(':')                file_dict[temp[0]] = temp[1]# dict => filedef write_file():    file_arr = []    for user,pwd in file_dict.items():        file_arr.append('%s:%s' % (user,pwd))            with open('user.txt','w') as f:        f.write('\n'.join(file_arr))


#user.txtjiaoshou:978sherman:98565sunfan:546nancy:678chris:789csfc:523

<!-- login.html --><p style='color:red'>{{error_msg}}</p><!-- <form method='POST' action='/loginaction'> --><form action='/loginaction'>admin_user:<input name = 'user' type = 'text'>admin_pwd:<input name = 'pwd' type = 'text'><input type='submit' value='login'></form>

<!-- list.html --><a href='/logout'>logout</a><form action='/adduser'>user:<input type='text' name='user'>pwd:<input type='text' name='pwd'><input type='submit' value='add'></form><table border='1'><tr><th>user</th><th>pwd</th><th>action</th></tr>{% for user in userlist%}<tr><td>{{user[0]}}</td><td>{{user[1]}}</td><td><a href='/del?user={{user[0]}}'>delete</a><a href='/update?user={{user[0]}}'>update</a></td></tr>{% endfor %}</table>

<!-- update.html --><form action = '/updateaction'>user:{{user}}<input type='hidden' name='user' value='{{user}}'>pwd:<input type='text' name='new_pwd' value='{{pwd}}'><input type='submit' value='update'></form>


0 0
原创粉丝点击