网页中增加一个按钮,操作按钮清空历史记录
时间: 2024-01-23 13:02:27 浏览: 128
好的,你可以在index函数中增加一个新的路由装饰器,绑定一个新的路由路径和一个新的函数,用于清空access.log文件中的历史记录。具体代码如下:
```
from flask import Flask, request
import os
app = Flask(__name__)
@app.route('/')
def index():
# 获取当前用户 IP
user_ip = request.remote_addr
# 记录用户访问日志
log_access(user_ip)
# 获取所有用户访问历史
access_history = read_access_history()
# 构造页面内容
content = '<h1>当前用户IP:{}</h1>'.format(user_ip)
content += '<h2>历史访问IP:</h2>'
content += '<ul>'
for ip in access_history:
content += '<li>{}</li>'.format(ip)
content += '</ul>'
# 增加清空历史记录按钮
content += '<form method="post">'
content += '<input type="submit" name="clear_history" value="清空历史记录">'
content += '</form>'
# 处理清空历史记录按钮的POST请求
if request.method == 'POST' and 'clear_history' in request.form:
clear_access_history()
return '<h1>历史记录已清空!</h1>'
# 返回页面内容
return content
def log_access(ip):
with open('access.log', 'a') as f:
f.write(ip + '\n')
def read_access_history():
with open('access.log', 'r') as f:
access_history = [line.strip() for line in f]
return access_history
def clear_access_history():
with open('access.log', 'w') as f:
f.write('')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug='True')
```
在上述代码中,我们增加了一个新的form表单,其中包含一个名为clear_history的submit类型的按钮,用于清空历史记录。在用户点击该按钮时,会发送一个POST请求到服务器,触发index函数中的清空历史记录功能。具体来说,我们在index函数中增加了一个判断语句,用于检查当前请求是否为POST请求且是否包含clear_history参数,如果满足条件,则调用clear_access_history函数清空历史记录,并返回清空成功的消息。
清空历史记录的具体实现是通过clear_access_history函数实现的,该函数打开access.log文件并将其清空。
阅读全文