У меня есть форма html, где пользователь предоставляет длину, ширину и высоту, и есть событие onkeyup, связанное с функцией javascript, которая в свою очередь предоставляет объем в отключенном текстовом поле. Теперь значения отображаются в текстовом поле, и они меняются динамически, но когда я отправляю форму и обращаюсь к ней в представлениях с использованием метода POST, я получаю только значения для полей ввода, которые заполнены пользователем и отключенное текстовое поле возвращает Нет .
Я должен сохранить этот том в сеансе и передать его в следующий просмотр по запросу, но с момента request.POST.get () Нет, я не могу его восстановить.
Примечание : я просто использую расчет объема в качестве примера для объяснения проблемы.
# html
<head>
<script>
calcVolume(){
var Length = Number(document.getElementsByName('length')[0].value);
var Width = Number(document.getElementsByName('width')[0].value);
var Height = Number(document.getElementsByName('height')[0].value);
if (Length != '' && Width != '' && Height != '') {
var Volume = Length * Width * Height
document.getElementsByName('volume')[0].value = Volume;
}
}
<script>
</head>
<form method="POST" action="">
{csrf_token}
<table>
<tr>
<td><input name="length" onkeyup="calcVolume();"></td>
<td><input name="width" onkeyup="calcVolume();"></td>
<td><input name="height" onkeyup="calcVolume();"></td>
<td><input name="volume" value="0" disabled></td>
<td><button type="submit">Next</button></td>
</tr>
</table>
</form>
# views.py
def vol(request):
if method.request == "POST":
request.session['l'] = request.POST['length']
request.session['w'] = request.POST['width']
request.session['h'] = request.POST['height']
request.session['volume'] = request.POST.get('volume')
print(request.session['volume']) # here the volume is None
return redirect('/whatever_next_page')
else:
return render(request,'calculate_volume.html')