Как обновить страницу для нового запроса в Django
Я хочу получать значения request.POST N раз, где N - число, введенное пользователем. views.py имеет вид:
def valores(request):
global peso_unitario, preco_unitario
peso_unitario=[]
preco_unitario=[]
N=a
print('N='+str(N))
for i in range(N):
form=Form(request.POST)
c = int(request.POST.get('peso_u'))
d = int(request.POST.get('preco_u'))
peso_unitario.append(c)
preco_unitario.append(d)
return render(request, 'valores.html')
return render(request, 'pacote_m.html', {'peso_unitario': peso_unitario, 'preco_unitario': preco_unitario})
В этом коде в конце у меня есть два возврата, где первый находится внутри цикла for, потому что я хочу получить значения N раз и вернуть их в шаблон "valores.html". Последний возврат находится в конце, после цикла for будет перенаправлять на новый шаблон, этот шаблон "pacote.html" будет показывать значения, рассчитанные согласно моей программе, но это не проблема.
Шаблон valores.html это:
{% extends 'basic.html' %}
{% block content %}
<form action="page2" method="GET">
{% csrf_token %}
<h1>Digitados:</h1>
numero de objetos={{n_objetos}}<br>
peso peso maximo={{peso_maximo}}<br>
<!--- Peso unitario: <input type="text" name="peso_u"><br><br>
Preco unitario: <input type="text" name="preco_u"><br><br> --->
<table>
<thead>
<tr>
<th>Peso unitario</th>
<th>Preco unitario</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="text" name="peso_u"></td>
{{form.peso_u}}
<td><input type="text" name="preco_u"></td>
{{form.preco_u}}
</tr>
</table>
<input type="submit">
</form>
{% endblock %}
Мой файл forms.py имеет следующий вид:
class Form(forms.Form):
peso_u=forms.CharField(max_length=50)
preco_u=forms.CharField(max_length=50)
Проблема в том, что я не могу получить N значений request.POST. Я понял, что он получает только одно значение request.POST, следующие запросы подставляют значения, введенные ранее, и он продолжает цикл, я понял, что цикл длится вечно, потому что он запрашивает более N раз значения, возможно, потому что он подставляет значение, введенное ранее.