2015-07-03 2 views
-1

У меня есть приложение django, которое извлекает и отображает сообщения об ошибках за последние 15 минут, хранящиеся в MONGOdb. Я хочу добавить опцию автоматического обновления URL-адреса, чтобы сообщения отображались через каждые 10 минут независимо от какой-либо новой ошибки или нет. Как это можно сделать с помощью django? любой пакет?auto refresh url in django

+3

вам нужно подумать о том, как работает веб-страница. для обновления страницы каждые 10 минут вам нужно использовать Javascript. нет ничего, что может сделать Django – Anentropic

+0

Вы должны прочитать о http и его запросе и цикле ответа, а также о его статуе ... – Jingo

+0

@ Энтропия не совсем верна; OP может использовать [meta refresh] (https://en.wikipedia.org/wiki/Meta_refresh). –

ответ

1

Вы можете использовать ajax для обновления страницы. JS отправляет запрос ajax в представление django, которое возвращает ответ json или, возможно, часть html, а не всю страницу. Затем JS может добавить этот результат на страницу.

Что-то вроде этого (образец Jquery):

$.ajax({ 
    url: "/errors/list/", 
}).done(function(data) { 
    $("#container").html(data); 
}); 

И в виду вы можете сделать что-то подобное тоже.

from django.shortcuts import render 

def list_view(request): 
    errors = Error.objects.all() 
    return render(request, "errors/list.html", {'errors': errors}) 

шаблон будет только визуализировать часть страницы, которая должна быть обновлена ​​(например, список ошибок), а не весь HTML страницы

{% for error in errors %} 
    <div>{{ error }}</div> 
{% endfor %} 

Если вы хотите, чтобы обновить страницу в браузере , вы можете использовать jQuery тоже для этого.

location.reload(); 

Вы можете проверить jQuery.ajaxdocumentation.