flask查询mysql数据,并在html添加搜索框
时间: 2023-06-16 20:07:33 浏览: 51
首先,需要安装Flask和mysql-connector-python库。可以使用以下命令进行安装:
```
pip install Flask
pip install mysql-connector-python
```
接下来,创建一个Flask应用程序,并连接到MySQL数据库。可以使用以下代码片段:
```python
from flask import Flask, render_template, request
import mysql.connector
app = Flask(__name__)
# 配置MySQL连接参数
config = {
'user': 'username',
'password': 'password',
'host': 'localhost',
'database': 'database_name'
}
# 连接MySQL数据库
conn = mysql.connector.connect(**config)
# 定义查询函数
def search(keyword):
cursor = conn.cursor()
query = "SELECT * FROM table_name WHERE column_name LIKE %s"
cursor.execute(query, ('%' + keyword + '%',))
results = cursor.fetchall()
return results
# 定义路由和视图函数
@app.route('/')
def index():
return render_template('index.html')
@app.route('/search', methods=['POST'])
def search_results():
keyword = request.form['keyword']
results = search(keyword)
return render_template('search_results.html', results=results)
# 运行Flask应用程序
if __name__ == '__main__':
app.run(debug=True)
```
在HTML模板文件中,可以添加一个搜索表单,让用户输入搜索关键字。可以使用以下代码片段:
```html
<form method="POST" action="{{ url_for('search_results') }}">
<input type="text" name="keyword" placeholder="输入关键字">
<button type="submit">搜索</button>
</form>
```
在搜索结果页面中,可以使用Jinja2模板引擎来显示查询结果。可以使用以下代码片段:
```html
{% if results %}
<ul>
{% for result in results %}
<li>{{ result }}</li>
{% endfor %}
</ul>
{% else %}
<p>未找到相关结果</p>
{% endif %}
```
注意:在代码中使用了简单的SQL查询,应确保在实际应用程序中使用参数化查询,以防止SQL注入攻击。