У меня есть форма Django, в которой есть раскрывающееся поле с использованием ModelChoiceField в forms.py для поля, которое извлекает данные из атрибута модели. Я хочу передать данные через AJAX в мои представления и запросить значение другого поля, используя данные через Ajax. И отправьте его обратно в шаблон так, чтобы это значение автоматически заполнялось в другом поле той же формы. Я могу получить данные через представления и запрос от нужной модели тоже. Что мне делать дальше, чтобы запрошенные данные были помещены в поле в форме?
Я уже пробовал использовать этот блог:
https://simpleisbetterthancomplex.com/tutorial/2018/01/29/how-to-implement-dependent-or-chained-dropdown-list-with-django.html
Но он предоставляет метод для использования его для 2 зависимых выпадающих списков, и я переделал код в соответствии с моими требованиями, но не сработал.
Я также пытался получить значение раскрывающегося списка через консоль, но оно не отображается в консоли, тогда как все остальные поля типа ввода показывают значение в консоли. Итак, я не уверен, попадают ли данные выпадающего списка через AJAX или нет. Должны ли данные выпадающего меню отображаться в консоли или нет?
AJAX из form_template.html
{% block javascripts %}
{{ block.super }}
<script>
$("#id_name").change(function () {
var url = $("#clientForm").attr("data-location-url");
var site_name = $(this).val();
$.ajax({
url: url,
data: {
'site_n': site_name
},
success: function (data) {
$("#id_site_location").html(data);
}
});
});
</script>
{% endblock %}
функция views.py
def load_location(request):
site_n = request.GET.get('site_n')
locs = SiteInfo.objects.filter(site_name=site_n)
return render(request,'main/site_location.html',{'locs':locs})
Sitr_location.html - это пустой HTML-код, в котором значения могут быть зациклены и отображены, как показано выше по ссылке в блоге.