有一个flask项目,前端有5个文本框,分别是项目名称、项目金额、项目期限、保证金和手续费。要实现一个功能:通过手动输入项目名称,然后根据项目名称从数据库中查询另外四个的值,并显示在相应的文本框中
时间: 2024-03-16 15:46:31 浏览: 62
这是一个基于flask框架的web项目,实现了待办事项的管理
3星 · 编辑精心推荐
好的,这是一个比较常见的需求,可以通过以下步骤来实现:
1. 在 Flask 项目中,编写一个接口用于接收前端传来的项目名称,并从数据库中查询对应的其他四个值。
2. 在接口中,连接数据库并执行查询操作,获取到对应的四个值。
3. 将查询到的四个值返回给前端,让前端将它们显示在相应的文本框中。
下面是一个简单的实现示例:
```python
from flask import Flask, request, jsonify
import pymysql
app = Flask(__name__)
# 数据库连接配置
DB_HOST = 'localhost'
DB_PORT = 3306
DB_USER = 'root'
DB_PASSWORD = '123456'
DB_NAME = 'test'
# 查询语句
SELECT_SQL = 'SELECT amount, deadline, deposit, fee FROM projects WHERE name = %s'
# 连接数据库
db = pymysql.connect(host=DB_HOST, port=DB_PORT, user=DB_USER, password=DB_PASSWORD, database=DB_NAME)
# 接口定义
@app.route('/query_project_info', methods=['POST'])
def query_project_info():
# 获取前端传来的项目名称
project_name = request.json.get('project_name')
# 执行查询操作
cursor = db.cursor()
cursor.execute(SELECT_SQL, (project_name,))
result = cursor.fetchone()
# 将结果返回给前端
if result:
return jsonify({'status': 'success', 'amount': result[0], 'deadline': result[1], 'deposit': result[2], 'fee': result[3]})
else:
return jsonify({'status': 'failure', 'message': '项目不存在'})
if __name__ == '__main__':
app.run()
```
在前端部分,可以通过 Ajax 请求来调用接口并将查询到的值显示在相应的文本框中。具体实现方式可以参考 jQuery 的 Ajax 方法。
阅读全文