列出网页上的所有HTTP请求(Django)

时间:2015-12-12 12:46:58

标签: jquery ajax django http request

我正在开展项目,我需要创建单独的页面,其中包含来自网站的所有http请求。我创建了中间件,它将所有请求存储在数据库中,并且演示页面显示了最新的50个请求列表。 我需要这个演示页面在新请求到来时立即动态更新。我在AJAX周围玩,但最后却陷入了创造无限循环的困境。 任何想法或提示如何以最佳方式做到这一点?

更新(有进展): 这就是我如何使用中间件来收集非AJAX请求以避免无限循环。我的数据库正在使用除AJAX检查程序之外的所有其他HTTP请求进行更新(代码如下)。

中间件类:

# Middleware that stores http requests to the database
class HttprequestMiddleware(object):

def process_request(self, request):
    htpr = [request.method, request.path_info,\
    request.META['HTTP_HOST'],\
    request.META['SERVER_PORT'],\
    request.META['SERVER_NAME'],\
    request.META['HTTP_USER_AGENT'],\
    request.META['REMOTE_ADDR'],\
    request.META['REMOTE_HOST']]
    if request.is_ajax() is not True:
        q = Requestbase(req=htpr, req_date=timezone.now())
        q.save()

AJAX请求:

$(document).ready(function() {
function refresh() {
    $.ajax({
        url: "/mypage/requestview/",
        success: function(update) {
            $("body").html(update);
        }
    });  
}; 
setInterval(refresh(), 5000);
})

现在它可以正常工作,但我对连续setInterval()并计划访问数据库感到满意,检查记录数量是否已更改,并且仅在刷新DOM之后。

请告知。

0 个答案:

没有答案