reboot05

---flask_web.py
|
---fileutil.py
|
---user.txt
|
---templates
        |
        +---login.html
        |
        +---list.html
        |

        +---update.html


#flask_web.py
from flask import Flask,request,render_template,redirect,session
import fileutil
fileutil.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:pwd
file_dict = {}

# file => dict
def 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 => file
def 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.txt
jiaoshou:978
sherman:98565
sunfan:546
nancy:678
chris:789
csfc: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>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值