Django调试控制台显示单个页面请求的双GET

时间:2011-03-17 04:58:52

标签: django django-views

我正在运行开发人员的Django服务器,同时编写一个简单的视图,似乎每当我请求一个页面时,控制台显示同一个URL有2个GET。什么会导致这种情况发生?我没有使用任何重定向,所以我看不出第二个请求是如何制作的?

编辑:它似乎是由模板引起的。更改为模板的空白html文件解决了该问题。问题是为什么?我有多个{%if%} {%endif%}部分,没有其他部分。这可能是一个问题吗?

5 个答案:

答案 0 :(得分:1)

它也可能是Firefox遵循WC3指令,在该指令下,如果某些标签变空或损坏,它应该双重加载,例如,没有src =""说到这里,我在收到时保存了渲染的HTML并将其移动到一个静态文件中,在那里我添加了与真实结账相同的标题和所有访问的小型DB日志。

我只是偶然发现了这个问题,并修复了我删除我的img wit src =""

答案 1 :(得分:0)

请确认,如果Django在向您的网址添加斜线后重定向。您的 settings.py 中的属性 APPEND_SLASH 可以控制该属性。

答案 2 :(得分:0)

第二个请求可能是由错误配置的资产链接引起的 - 脚本,样式或img标记为空或省略了初始/,因此正在重新请求页面。

答案 3 :(得分:0)

它可能是你的快捷方式/ favicon

您的网页模板中是否有链接rel =“快捷方式图标”?注释掉它以查看它是否删除了第二个请求

答案 4 :(得分:0)

在我的情况下:我在2个文件中有相同的javascript代码:一个在基本模板中,另一个在另一个模板中。当我使用ajax重新加载所有页面时,我得到了2x,然后是4x和8x,... 解决方案是仅在mybase.html中使用javascript代码 此后我的js代码:

<script type="text/javascript">
// Code jQuery Ici
$(document).ready(function(){

// GET
$(".ajax_onglet_get").click(function(e){
    var lien = $(this).attr('href');
    $('#zone_travail').fadeOut('fast', function(){
        $('#zone_travail').load(lien, function() {
            $('#zone_travail').fadeIn('fast');
        });
    });
    e.preventDefault()
});

});