代码
时间: 2023-07-03 22:26:43 浏览: 43
以下是一个简单的实现,包括了上述任务的基本功能,但是仅供参考,实际应用中需要根据具体需求进行修改和完善。
```python
from flask import Flask, render_template, request
app = Flask(__name__)
data = [
["f1", "鲤鱼", "杂食性", 300],
["f2", "草鱼", "食草性", 240],
["f3", "鲫鱼", "温水性", 500],
["f4", "鳙鱼", "杂食性", 200],
["f5", "鲤鲫", "温水性", 400],
["f6", "鳊鱼", "食草性", 350],
]
@app.route('/')
def index():
return render_template('index.html', data=data)
@app.route('/search')
def search():
key = request.args.get('key')
value = request.args.get('value')
result = []
for item in data:
if item[data[0].index(key)] == value:
result.append(item)
return render_template('index.html', data=result)
@app.route('/add', methods=['POST'])
def add():
new_item = []
for key in data[0]:
new_item.append(request.form.get(key))
data.append(new_item)
return render_template('index.html', data=data)
@app.route('/delete', methods=['POST'])
def delete():
id = request.form.get('id')
for item in data:
if item[0] == id:
data.remove(item)
break
return render_template('index.html', data=data)
@app.route('/update', methods=['POST'])
def update():
id = request.form.get('id')
for item in data:
if item[0] == id:
for key in data[0][1:]:
item[data[0].index(key)] = request.form.get(key)
break
return render_template('index.html', data=data)
if __name__ == '__main__':
app.run(debug=True)
```
需要注意的几点:
1. `render_template`函数用于渲染模板文件,需要在项目根目录下创建一个名为`templates`的文件夹,并在其中创建一个名为`index.html`的模板文件。
2. 在`search`函数中,使用`request.args`获取GET请求中的参数,然后进行筛选。
3. 在`add`、`delete`、`update`函数中,使用`request.form`获取POST请求中的表单数据。其中,`add`函数直接将新的数据添加到`data`列表中;`delete`函数根据ID删除指定的数据;`update`函数根据ID修改指定的数据。
4. 为了简化代码,这里直接将数据存储在`data`列表中,实际应用中可以考虑使用数据库或者文件进行持久化存储。