Разрабатываю сайт на django.
Есть следующая форма:
<form action="/external/" method="POST">
<div id="profile"></div>
<input type="button" value="добавить" onclick="addInput()">
<input type="button" value="создать массив" onclick="func()">
<input type="submit" value="Выполнить">
</form>
Функция addInput().
let i = 0;
function addInput() {
if (i < 5) {
i = i + 1;
let profile = document.getElementById('profile');
let div = document.createElement('div');
div.innerHTML = '<label>Значение:</label> <input type="text" name="items" id="box' + (i + 1) + '">';
profile.append(ip);
}
}
При нажатии на кнопку "добавить" появляется поле для ввода, по условию кол-во полей ограничено до 5. Для каждого поля id увеличивается на 1. name остается неизменным.
Функция func().
function func() {
let box = document.getElementsByName('items');
let items = [];
for(n=0; n < box.length; n++){
let content = box[n].value
items.push(content)
}
console.log(items)
}
Создает массив из значений, которые ввел пользователь в поле text тега input.
Все работает прекрасно, НО! Как передать сформированный массив из значений методом POST? В файле views.py лежит функция:
def external(request):
items = request.POST.getlist('items')
run([sys.executable, 'codetest.py', items])
return render(request, 'main/test.html')
при нажатии на кнопку "выполнить" переменная items принимает только одно, последнее введенное значение пользователем, а нужно, чтобы принимала именно полученный массив, который далее должен быть принят в качестве аргумента в скрипте с последующей передачей запроса в БД.