Как вывести строку из базы данных на страницу html?
Есть база данных sqlite, нужно брать рандомную строку из этой базы и выводить на экран при нажатии кнопки. То есть, получается своего рода генератор, который выдаёт рандномную строку из бд.
Алгоритм по выводу рандомной строки в консоль реализован и работает отлично, а вот как сделать, чтобы всё это отображалось на сайте при нажатии кнопки не совсем понимаю.
views.py
def get_idea():
try:
con = sqlite3.connect('../db_of_ideas.db')
cursor = con.cursor()
except Exception as ex:
print("db is not exist")
exit(1)
max_id = cursor.execute("""SELECT id FROM ideas ORDER BY id DESC LIMIT 1""").fetchone()
return cursor.execute("""SELECT idea FROM ideas WHERE id = ?""",(random.randint(1,max_id[0]),)).fetchone()
def generate(request):
if request.method == 'POST':
gen_idea = get_idea()
print(gen_idea)
return render(request, 'main/generate.html')
generate.html
<div class="features">
<h1>Генератор идей</h1>
<form method="post">
{% csrf_token %}
<h1></h1>
<button class="btn btn btn-success" type="submit">Сгенерировать идею</button>
</form>
</div>
Я так понимаю, что использовать POST-запрос не совсем верно, потому что страница обновится.