Я отправляю некоторые раскрывающиеся значения из моих ajax в Django представлений, Django представлений, возвращающих ответ в формате JSON. Значение представляет собой список списка в соответствии с python, поэтому в javascript это массив массивов. Я хочу проанализировать данные, поступающие из представлений Django, и обновить содержимое div в клиентской части.
Это то, что я пробовал до сих пор:
filter.html
<form id="form1" method="POST">
{% csrf_token %}
<div classs="container">
<div class="row">
<div class="col-lg-5">
<label for="intent">Intent</label>
<div class="styled-select blue semi-square">
<select name="intent" id="intent-sel">
<option value="all">All</option>
<option value="opinion">Opinion</option>
<option value="complaint">Complaint</option>
<option value="suggestion">Suggestion</option>
<option value="satisfied">Satisfied</option>
<option value="delivery">Delivery</option>
<option value="customer_sensitivity_for_pricing">SensitivityForPricing</option>
</select>
</div>
</div>
<div class="col-lg-5">
<label for="product-type">Product Type</label>
<div class="styled-select blue semi-square">
<select name="product_type" id="product-sel">
<option value="all">All</option>
<option value="condom">Condom</option>
<option value="lube">Lubricant</option>
</select>
</div>
</div>
<div class="col-lg-5">
<label for="rating">Rating</label>
<div class="styled-select blue semi-square">
<select name="rating" id="rating-sel">
<option value="all">All</option>
<option value="1">1 Star</option>
<option value="2">2 Star</option>
<option value="3">3 Star</option>
<option value="4">4 Star</option>
<option value="5">5 Star</option>
</select>
</div>
</div>
<div class="col-lg-5">
<label for="brand">brand</label>
<div class="styled-select blue semi-square">
<select name="brand" id="brand-sel">
<option value="all">All</option>
<option value="durex">Durex</option>
<option value="skore">Skore</option>
<option value="kamasutra">KamaSutra</option>
</select>
</div>
</div>
</div>
</div>
<div class="buttonHolder">
<button type="submit" id='upload-button' class="btn btn btn-outline-dark">Filter</button>
</div>
</form>
<div id="content_data">
</div>
</form>
<script>
$(document).on('submit', '#form1',function(e){
$.ajax({
type:'POST',
url:'{% url "filter" %}',
data:{
intent:$('#intent-sel').val(),
product_type:$('#product-sel').val(),
rating:$('#rating-sel').val(),
brand: $('#brand-sel').val(),
csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val(),
action: 'post'
},
success:function(json){
document.getElementById("form1").reset();
console.log(json);
$("#content_data").prepend('<div class="col-md-6">'+'<p class="mb-auto">' + "jlksjlf" + '</p>' +
'</div>'
)
},
error : function(xhr,errmsg,err) {
console.log("error:");
console.log(xhr.status + ": " + xhr.responseText); // provide a bit more info about the error to the console
}
});
});
</script>
views.py
def filter(request):
if request.method == "POST":
intent = request.POST.get('intent')
product_type = request.POST.get('product_type')
rating = request.POST.get('rating')
brand = request.POST.get('brand')
data = filter_result(intent, product_type, rating, brand)
context = {"data": data}
return JsonResponse(context)
return render(request, 'filter.html')
Как мне добиться результата?