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