Django обновляет страницу без перезагрузки всей страницы
Я хочу обновлять страницу через определенные промежутки времени, например, каждые 10 секунд, без перезагрузки страницы. Я посылаю запрос get на api. Мои ajax-коды хорошо обновляют страницу, но это вызывает проблемы, так как загружает все div'ы снова и снова. Как я могу заставить div-focused refresh удалять один и тот же предыдущий div при обновлении?
часть моего div;
<div id="testdiv" class="row">
<div class="col-md-4">
{%if XXX > 1000 %}<div class="dashcontrol2 featured">{%else%}<div class="dashcontrol featured">{%endif%}
<h4>{%if XXX> 1000 %}<span style="color: red;">XX</span><box-icon type='solid' name='badge' color="red"></box-icon>{%else%}<span style="color: green;">XX</span><box-icon type='solid' name='badge-check' color="green"></box-icon>{%endif%} </box-icon></h4>
<h4>{{XX|intcomma}}</h4>
<a target="_blank" href="XX"><h6>KIBANA</h6></a>
</ul>
</div>
</div>
url.py;
url(r'^dashcontrol$', views.dashcontrol, name='dashcontrol'),
ajax;
<script>
setInterval(function() {
$.get("/dashcontrol", function(data, status){
$("body").html(data);
});
}, 15000);
</script>
одним из возможных решений для этого является
скрыть длительность по умолчанию 400мс и я не думаю, что пользователь заметит это.
создать новый url
url(r'^dashcontrol$', views.dashcontrol, name='dashcontrol'),
url(r'^updatadashcontrol$', views.updatedashcontrol, name='updatedashcontrol'),
js
<script>
setInterval(function() {
$.get("{% url 'updatedashcontrol' %}", function(data, status){
$("#testdiv").empty(); //hide the page
$("#testdiv").append(data); // and after you hide that data append it.
});
}, 15000);
</script>
views.py
def dashcontrol(request):
url = "http://XX/XX*/_search"
headers = {'Content-type': 'application/json'}
params = {XX}
print('OK')
response = requests.get(url=url, json=params, headers=headers)
data = response.json()
testtt = data['hits']['total']
print(data['hits']['total'])
print('OK')
return render(request, 'dashcontrol.html', {'testtt ':testtt }
def updatedashcontrol(request):
url = "http://XX/XX*/_search"
headers = {'Content-type': 'application/json'}
params = {XX}
print('OK')
response = requests.get(url=url, json=params, headers=headers)
data = response.json()
testtt = data['hits']['total']
print(data['hits']['total'])
print('OK')
return render(request, 'partialdashcontrol.html', {'testtt ':testtt }
partialdashcontrol.html (только это, не добавляйте body или html)
<div class="col-md-4">
{%if testtt > 1000 %}<div class="dashcontrol2 featured">{%else%}<div class="dashcontrol featured">{%endif%}
<h4>{%if testtt > 1000 %}<span style="color: red;">XX</span><box-icon type='solid' name='badge' color="red"></box-icon>{%else%}<span style="color: green;">XX</span><box-icon type='solid' name='badge-check'
color="green"></box-icon>{%endif%} </box-icon></h4>
<h4>{{testtt|intcomma}}</h4>
<a target="_blank" href="XX"><h6>KIBANA</h6></a>
</ul>
</div>