Django: html-форма отправки и отображение результата на одной странице без перехода/перезагрузки на новую страницу
Я новичок в django и html. ниже приведена моя первая тестовая веб-страница простого онлайн-калькулятора.
Я обнаружил проблему, что при нажатии кнопки "submit" происходит переход на новую веб-страницу или новую веб-вкладку. это не то, что я хочу. Когда пользователь вводит данные и нажимает кнопку "отправить", я хочу, чтобы поле "результат" на странице непосредственно показывало результат (т.е. частично обновляло только это поле) без обновления/перехода на новую страницу. Также я хочу, чтобы введенные пользователем данные оставались на той же странице после нажатия кнопки "submit".
Я видел, что есть несколько различных способов сделать эту работу, iframe/AJAX. Однако, я искал ответы в течение 5 дней, и ни один из ответов не работает для этого очень простого вопроса!!!
html:
<form method="POST">
{% csrf_token %}
<div>
<label>num_1:</label>
<input type="text" name="num_1" value="1" placeholder="Enter value" />
</div>
<div>
<label>num_2:</label>
<input type="text" name="num_2" value="2" placeholder="Enter value" />
</div>
<br />
<div>{{ result }}</div>
<button type="submit">Submit</button>
</form>
view.py
def post_list(request):
result = 0
if request.method == "POST":
num1 = request.POST.get('num_1')
num2 = request.POST.get('num_2')
result = int(num1) + int(num2)
print(request.POST)
print(result)
context = {
'result': result
}
return render(request, 'blog/post_list.html', context)