У меня есть HTML-таблица переменных размеров, в которой каждая ячейка имеет значение
<input type = "number">
После того, как пользователь заполнил каждую ячейку и нажал кнопку отправки, результат некоторого вычисления должен быть напечатан в теге h2
,Как и предсказывалось, каждый раз, когда пользователь нажимает кнопку, содержимое, записанное в таблице, удаляется.Можно ли несколько отрицать, что после того, как пользователь нажал «отправить», он получил выводимый результат, но его входные данные в таблице остались на прежнем месте?Это HTML шаблон, где все это происходит:
{% extends "base.html" %}
{% block content %}
<h2> Dimensions: {{ f_number }} X {{ s_number }} </h2>
<form method = "post" action="/calculated/">{% csrf_token %}
<table style = "border: 1px solid black;" border = 1>
{% for i in range_first %}
<tr>
{% for j in range_second %}
<td> <input type = "number" name = "{{ i }}{{ j }}"> </td>
{% endfor %}
</tr>
{% endfor %}
</table>
<input type = "Submit" value = "Calculate" name = "calc">
{% if result %}
<h2> The result is: {{ result }}. </h2>
{% endif %}
</form>
{% endblock content %}
Это моя функция просмотра:
def calculate(request):
if request.method == 'POST':
content = request.POST.dict()
stuff = calculator.MatrixCalculator(content)
dimensions = stuff.dimensions_to_normal_form()
array_numbers = stuff.numbers_to_normal_form()
range_first = range(dimensions[0] + 1)
range_second = range(dimensions[1] + 1)
result = stuff.Rank(array_numbers, dimensions)
return render(request, 'enter_number.html', {'result': result,
'f_number': dimensions[0] + 1, 's_number': dimensions[1] + 1,
'range_first': range_first, 'range_second': range_second})