Как вывести строку из базы данных на страницу 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-запрос не совсем верно, потому что страница обновится.

Вернуться на верх