Я возвращаю JsonResponse с требуемым представлением ha sh из Django при вызове ajax.
Как использовать объект Json внутри html через {{}} ( Джинджа шаблонизирует). Ниже мой ajax звонок:
$(function () {
$('#getData').submit(function (e) {
e.preventDefault();
$.ajax({
url: "/Report",
type: 'get',
data: {
'date1': $('#d1').val(),
'date2': $('#d2').val(),
},
success: function (data) {
alert("Success");
// How to pass the data here to use it in html
}
});
});
});
Мой образец html:
<div id="maindiv" class="col col-5 col-sm-10" style="display: none;">
<div>
<h3> Showing Results for {{info.fromDate}} to {{info.toDate}}</h3>
</div>
<br><br>
<div id="summary">
<div class="card-deck">
<div class="card mx-auto">
<div class="card-body text-center">
<p style="text-align: center;vertical-align: middle;padding: 20px;" class="card-text">
<h1><b><span style="font-size:80px;">{{info.total}}</span></b></h1>
<h6> Total </h6>
</p>
</div>
</div>
<div class="card" id='chart1' style="width: 100%; height: 500px;">
<div class="card-body text-center">
<script>
Info = {{ info.marks| safe }}
createpiechart("marks", 'chart1', Info); <!-- This creates an amchart -->
</script>
</div>
</div>
</div>
</div>
Это всего лишь образец. У меня есть еще много диаграмм и обработки, для которых я использовал переменную jsonresponse через {{}} внутри html. Как правильно получить данные от ajax до html?
Изначально я использовал render для возврата ответа на html. Но я вижу, что данные, которые я собираю в ajax, заменяют все html на значение переменной {{}}
return render(request=request, template_name='home/home.html', context={"info": InfoArray})
Как использовать хэш / контекст, который я передаю из представления Django внутри html через ajax?
Файл приложения \ home.urls:
urlpatterns = [
#path('', views.index, name = "index"),
path('', views.homepage, name="homepage"),
]
Файл приложения \ urls:
urlpatterns = [
path('Report/', include('home.urls')),
path('admin/', admin.site.urls),
]