Усовршенствовать поиск
у меня возник вопрос, как бы дополнить свой поиск по базе данных. Справа на сайте есть блок-меню, там разные ссылки на категории блюд (эти ссылки пустые) и есть строка поиска, которая ищет по базе данных (БД) блюда из этих же категорий. Можно ли как-то сделать так, чтобы при нажатии на любую категорию из правого блока выполнялся поиск /search из БД. Грубо говоря мне интересно можно ли сделать как-то так, чтобы def search(): искал не только вручную введенную в строку поиска категорию search_string = request.form['input_query'] , но и просто по нажатии на соответствующую ссылку. На гитхабе
@app.route('/search', methods=['POST'])
def search():
if request.method == 'POST':
search_string = request.form['input_query']
con = sqlite3.connect('C:/FFlaskApplication/diacompanion.db')
cur = con.cursor()
cur.execute("SELECT DISTINCT (name) name ,_id FROM"
" receipts WHERE category LIKE ? GROUP BY name", ('%{}%'.format(search_string),))
result = cur.fetchall()
return render_template('index.html', result=result, name=current_user.username)
Ответы (1 шт):
Автор решения: Artem
→ Ссылка
@app.route('/searchlink/<string:search_string>')
def searchlink(search_string):
con = sqlite3.connect('C:/FFlaskApplication/diacompanion.db')
cur = con.cursor()
cur.execute("SELECT DISTINCT (name) name ,_id FROM"
" receipts WHERE category LIKE ? GROUP BY name", ('%{}%'.format(search_string),))
result = cur.fetchall()
con.close()
print('Были выбраны блюда')
return render_template('index.html', result=result, name=current_user.username)
<a class='sidemenu' href="{{ url_for('searchlink', search_string = 'Блюда из бобовых')}}">
Блюда из бобовых
</a>
