Вы можете использовать рендеринг шаблона Django для заполнения первого раскрывающегося списка, например:
<select class="form-control" id="exampleFormControlSelect1">
{% for key, values in yourdict %}
<option value={{ values }}>{{ key }}</option>
{% endfor %}
</select>
Убедитесь, что вы передали свою словарную переменную в шаблон и заменили «yourdict» любым из вашего словаря. вызывается переменная.
Затем вам нужно использовать javascript / jquery для заполнения второго раскрывающегося списка. Добавьте функцию onchange в свой первый раскрывающийся список:
<select class="form-control" id="exampleFormControlSelect1" onchange="populateSecond()"></select>
Затем в JS вы можете определить эту функцию:
function populateSecond() {
var select1 = document.getElementById("exampleFormControlSelect1");
var select2 = document.getElementById("exampleFormControlSelect2");
var selectedValue = select1.options[select1.selectedIndex].value;
selectedValue.forEach(function(element){
select2.appendChild(element);
}
}
Это требует, чтобы ваши сохраненные значения в первом раскрывающемся списке распознавались как массив. Я не уверен, что они будут недоступны, но если нет, вам, возможно, придется преобразовать значение selectedValue из строки в массив с помощью метода split ()